Table of Contents

Packages

# basic tools 
library(tidyverse)

# checking data
library(MVN)
library(correlation)
library(performance)
library(parameters)
library(insight)

# building the models
library(lavaan)

# cheking the models
library(semTools)

# model visualization
library(semPlot)
library(semptools)

Data

ESS07 <- read.csv("../data/ESS07.csv")

Confirmatory factor analysis

Many variables in the social and behavioral sciences represent hypothetical constructs (e.g., traits, attitudes, values)

Direct access to hypothetical constructs is rare. Many constructs can only be captured by (multiple) observable indicators (e.g., in a questionnaire)

It is assumed that such indicators are manifestations of hypothetical constructs - Manifest indicators: directly observable - Latent variables: not directly observable

We need a model that is able to conceptualize the relationship between manifest indicators and latent variables

The classic test theory Novick (1966)

Procedure

Step 1

Translation of the theoretical model into a measurement model

We need a model that is able to conceptualize the relationship between manifest indicators and latent variables

The formal expression is:

\[ \begin{split} y_1=\lambda_1\eta+\epsilon_1 \\ y_2=\lambda_2\eta+\epsilon_2 \\ y_3=\lambda_3\eta+\epsilon_3 \end{split} \]

\[\boldsymbol{Y}=\boldsymbol{\Lambda}\eta+\boldsymbol{E}\]

Step 2

Checking whether it is a reflexive or formative construct

Test the hypothesized relationship between observed indicators and latent variables

  • Reflective measurement: indicators are “effects” of the latent variable
  • Formative measurement: latent variable is “caused” or composed by the manifest indicators

Step 3

Specification of the model (Choose a method to assign a scale to the latent variable)

  • Reference indicator method: factor loading of one indicator is fixed to 1.0
  • Fixed factor method: the factor variance is fixed to 1.0

Step 4

Checking the model assumptions (ML estimation requirements)

  • Sample size is sufficiently large (ratio of number of cases and number of parameters - N:q rule => 20:1 or 10:1)
  • Items are continuous and multivariate normal (case of non-normal data standard errors and \(\chi^2\)-statistics should be adjusted - e.g., robust ML = MLR)
    • Small samples (< 100): overestimation of \(\chi^2_{ML}\)
    • Large samples (> 400): \(\chi^2_{ML}\) is almost always significant
  • Problem: \(\chi^2\) is sensitive to sample size
    • The importance of small discrepancies is inflated
    • H0 may be rejected although the model is a good one

Step 5

Checking wether the model is identified

Complexity of a CFA model is limited by the total number of observations (p) and the number of unknown model parameters (q)

The following applies:

With df > 0 we can test the fit of the estimated model to the empirical data

The maximum likelihood function minimizes the discrepancy between observed and model implied (co)variances

\[F_{ML}=ln|\Sigma(\theta)|-ln|S|+tr[S\Sigma(\theta)^{-1}]-p\]

The final value of the discrepancy function \(F_{ML}\) multiplied with n – 1 follows a \(\chi^2\) distribution:

\[F_{ML}(n-1)=\chi^2_{ML}\]

Step 6

Checking the fit measurements

Global fit measures: appropriateness of the entire model

  • Absolute Goodness/Badness-of-fit Indices
    • Relation between \(\chi^2\) and degrees of freedom = \(\chi^2/df\) - Jöreskog (1969)
    • Discrepancy to a saturated model = RMSEA - Steiger (2016))
    • Discrepancy due to overall error = SRMR - Bentler (1995)
  • Comparative Goodness-of-fit Indices
    • Comparison to a null model = CFI - Bentler (1990), TLI - Tucker and Lewis (1973)
  • Detailed fit measures: appropriateness of specific parts of the model (e.g., constraints)
    • LRT
    • Modification indices
    • Residual matrices
Index Typ Theoretical range Cut-off N sensitive Penalty for complexity
X2/df badness \(\ge 0\) \(<5\) yes no
CFI godness 0.0 – 1.0 \(\ge.95\ (\ge.90)\) no yes
TLI godness 0.0 – 1.0* / no yes
SRMR badness \(\ge 0\) \(<.08\) yes no
RMSEA badness \(\ge 0\) \(\leq.05\ (\leq.08)\) yes to small N yes
PCLOSE badness 0.0 – 1.0 \(\ge.95\) yes /

*negative values indicate extremely misspecified model; when exceeds 1, model is extremely well-fitting

Source: West et al. (2012). Model fit and model selection in structural equation modeling. In Hoyle, R. H. (Ed.). (2012). Handbook of Structural Equation Modeling (p. 212-213). Guilford Press. See also Hu and Bentler (1999)

Step 7

Checking for misspecification

What causes model misfit?

  • Indicator choice
  • Factor choice
  • Violations of assumptions (e.g., multivariate normality)
  • Causal structure (e.g., restrictions)

How to diagnose model misfit?

  • Parameter estimates (Heywood cases?)
  • Residual matrices (i.e., differences between observed and estimated covariances)
  • Modification indices (approximation of the reduction of chi-square if a single constrained parameter is freely estimated)

Modification indices (MIs):

Lagrange multiplier (Sörbom (1989)) - approximation of the reduction of \(\chi^2\) if a single constrained parameter is freely estimated

  • Test of local fit
  • One parameter at a time

Constrained parameters in CFA:

  • Factor cross-loadings
  • Residual correlations

  • Some of the covariation of e1 and e2 is due to sources other than the common factor
  • Reasons: method effects, item wording, acquiescence, social desirability, unaccounted theoretical common causes

Step 8

Identifying the mean structure (optional)

The formal expression including item intercepts:

\[ \begin{split} y_1=\tau_1+\lambda_1\eta+\epsilon_1 \\ y_2=\tau_2+\lambda_2\eta+\epsilon_2 \\ y_3=\tau_3+\lambda_3\eta+\epsilon_3 \\ \end{split} \]

Means of the indicators can be reproduced by the intercept, factor loading, and latent mean estimates

Identifying the mean structure:

  • Fixing the intercept of the reference indicator to zero
  • Fixing the latent mean to zero

CFA - Universalism

Step 1

Our example measurement model Universalism comes from the Theory of Basic Human Values according to Schwartz (1992) and comprises three facets - Concern, Nature, Tolerance.

Concern: Commitment to equality, justice and protection for all people

Nature: Preservation of the natural environment

Tolerance: Acceptance and understanding of those who are different from oneself

In order to measure this attitude construct, three questions (items) were created in ESS 7 (2014) and queried in various countries (e.g. Czech Republic, Germany, Great Britain).

Name Label Construct
ipeqopt Important that people are treated equally and have equal opportunities Universalism
ipudrst Important to understand different people Universalism
impenv Important to care for nature and environment Universalism

Step 2

Indicators are “effects” of the latent variable and therefore we specify a reflective measurement model

Step 3

The syntax commands for specifying a lavaan model:

https://lavaan.ugent.be/tutorial/syntax1.html

Formula type Operator Mnemonic
latent variable definition =~ is measured by
regression ~ is regressed on
(residual) (co)variance ~~ is correlated with
intercept ~1 intercept
universalism <- "Universalism =~ ipeqopt + ipudrst + impenv"

Lavaan automatically uses the reference indicator method, so one indicator’s factual loading is fixed at 1. Accordingly, the variance of the latent factor is estimated.

In Lavaan, however, it is also very easy to use the fixed factor method, i.e. to fix the variance of the latent factor to 1. This allows all factor loadings to be freely estimated.

This requires the use of labels, i.e. the labeling of individual parameters in order to be able to control them directly. The syntax commands for labeling a lavaan model can be found here: https://lavaan.ugent.be/tutorial/syntax2.html. For this step, we only need to understand how individual parameters can be fixed and freely calculated. As soon as it comes to the calculation of measurement invariance, we will work with labels again. But more on that later.

Reference indicator method:

universalism <- "Universalism =~ 1*ipeqopt + ipudrst + impenv"
"Universalism =~ NA*ipeqopt + ipudrst + 1*impenv"
[1] "Universalism =~ NA*ipeqopt + ipudrst + 1*impenv"

Fixed factor method:

universalism <- "
# specification of the measurement model
Universalism =~ NA*ipeqopt + ipudrst + impenv

# specification of the variance
Universalism ~~ 1*Universalism
"

Freely estimate the factor loading of the first indicator by NA*ipeqopt and fix the variance of the latent factor by 1*Universalism The variance of a variable is specified as covariance with itself, hence Universalism ~~ Universalism In the end we get Universalism ~~ 1*Universalism

Step 4

Now let’s get an overview of the properties of our variables. First, let’s look at the descriptive statistics of our items to gain knowledge of missing values, central tendency properties, variability, and distribution.

It is possible to choose between:

Mardia’s test (“mardia”), Henze-Zirkler’s test (“hz”), Royston’s test (“royston”), Doornik-Hansen’s test (“dh”) and E-statistic (“energy”). Default is Henze-Zirkler’s test.

ESS07 %>% 
  select(ipeqopt, ipudrst, impenv) %>% 
  mvn() %>% 
  # optional for better display
  export_table(table_width = 1, digits = 3)
Test          |      HZ | p value | MVN
---------------------------------------
Henze-Zirkler | 133.042 |       0 |  NO

Test             |  Variable | Statistic |   p value | Normality
----------------------------------------------------------------
Anderson-Darling |  ipeqopt  |  362.6880 |  <0.001   |    NO    
Anderson-Darling |  ipudrst  |  332.9049 |  <0.001   |    NO    
Anderson-Darling |  impenv   |  322.7889 |  <0.001   |    NO    

   n |  Mean | Std.Dev | Median | Min | Max | 25th | 75th |   Skew | Kurtosis
-----------------------------------------------------------------------------
5844 | 4.945 |   1.040 |      5 |   1 |   6 |    4 |    6 | -1.142 |    1.295
5844 | 4.717 |   1.027 |      5 |   1 |   6 |    4 |    5 | -0.937 |    0.892
5844 | 4.878 |   1.025 |      5 |   1 |   6 |    4 |    6 | -0.933 |    0.732

So, we don’t have any missing values in our example dataset and a more than sufficient sample size. Nevertheless, the variables show a right skewed distribution. Consequently, the individual variables are not normally distributed and there is no multivariate normal distribution (Henze-Zirkler value).

We can also validate this finding graphically.

The Q-Q plot, where “Q” stands for quantile, is a widely used graphical approach to evaluate the agreement between two probability distributions. Each axis refers to the quantiles of probability distributions to be compared, where one of the axes indicates theoretical quantiles (hypothesized quantiles) and the other indicates the observed quantiles. If the observed data fit hypothesized distribution, the points in the Q-Q plot will approximately lie on the line y = x.

Since all incoming variables have a right-skewed distribution, this fact is not surprising. Thus, we can conclude that problems with multivariate normality arise from the skewed distribution of the three variables.

plots <- ESS07 %>% 
  select(ipeqopt, ipudrst, impenv) %>% 
  mvn(univariatePlot = "histogram", multivariatePlot = "qq")

As a result, we can conclude that this data set does not satisfy MVN assumption based on the fact that the two test results are against it and the chi-square Q-Q plot indicates departures from multivariate normal distribution.

Due to the missing multivariate normal distribution, we use the MLR estimator. If we were dealing with missing values, we would use Full Information Maximum Likelihood (FIML) as the estimation strategy.

Next, we want to check whether the items are sufficiently correlated with each other. A sufficient correlation of the items would support our assumption of a reflective factor, since it would be reasonable that the common variance of the variables is caused by the latent factor.

ESS07 %>% 
  select(ipeqopt, ipudrst, impenv) %>% 
  correlation() %>% 
  summary() %>% 
  # optional for better display
  export_table(table_width = 1, digits = 2)
Parameter | impenv | ipudrst
----------------------------
ipeqopt   |   0.28 |    0.35
ipudrst   |   0.30 |        

There is sufficient correlation, so it is initially plausible that a latent factor in the background would explain the common variance.

Finally, we want to deal with the anticipated itemscale. Here we are primarily interested in the various measures of internal consistencies.

ESS07 %>% 
  select(ipeqopt, ipudrst, impenv) %>% 
  principal_components(n = 1) %>%
  check_itemscale() %>% 
  # optional for better display
  export_table(table_width = 1, digits = 2)
Item    | Missings | Mean |   SD | Skewness | Difficulty | Discrimination | alpha if deleted
--------------------------------------------------------------------------------------------
ipeqopt |        0 | 4.95 | 1.04 |    -1.14 |       0.82 |           0.39 |             0.46
ipudrst |        0 | 4.72 | 1.03 |    -0.94 |       0.79 |           0.41 |             0.43
impenv  |        0 | 4.88 | 1.02 |    -0.93 |       0.81 |           0.35 |             0.52
  • Item difficulty should range between 0.2 and 0.8. Ideal value is p+(1-p)/2 (which mostly is between 0.5 and 0.8). Lower values are a signal for more difficult items, while higher values close to one are a sign for easier items. The ideal value for item difficulty is p + (1 - p) / 2, where p = 1 / max(x). In most cases, the ideal item difficulty lies between 0.5 and 0.8.
  • For item discrimination, acceptable values are 0.20 or higher; the closer to 1.00 the better. The absolute value of the item discrimination indices should be above 0.1. An index between 0.1 and 0.3 is considered as “fair”, while an index above 0.3 (or below -0.3) is “good”. Items with low discrimination indices are often ambiguously worded and should be examined. Items with negative indices should be examined to determine why a negative value was obtained (e.g. reversed answer categories regarding positive and negative poles).
  • Mean inter-item-correlation is an alternative measure to indicate acceptability. Satisfactory range lies between 0.2 and 0.4. “Ideally, the average inter-item correlation for a set of items should be between .20 and .40, suggesting that while the items are reasonably homogenous, they do contain sufficiently unique variance so as to not be isomorphic with each other. When values are lower than .20, then the items may not be representative of the same content domain. If values are higher than .40, the items may be only capturing a small bandwidth of the construct.” (piedmontInteritemCorrelations2014-item_2014?)

The selected items can be plausibly mapped together in one scale.

Step 5

Now let’s estimate the model using Lavaan. For this we use the cfa() function.

universalism_fit <- cfa(
  model = "Universalism =~ ipeqopt + ipudrst + impenv",
  data = ESS07,
  estimator = "MLR",
  # optional if there are missing values 
  missing = "fiml.x"
)

Now we can look at the estimated model. To do this, we use the summary() function.

  • fit.measures = T - shows us the most important fit measurements of our model
  • standardized = T - shows us standardized values in the output
  • rsquare = T - shows us the explained variance of the dependent variables
summary(
  object = universalism_fit,
  fit.measures = T,
  standardized = T,
  rsquare = T
)
lavaan 0.6-12 ended normally after 24 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                         9

  Number of observations                          5844
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 0.000       0.000
  Degrees of freedom                                 0           0

Model Test Baseline Model:

  Test statistic                              1532.717    1023.100
  Degrees of freedom                                 3           3
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.498

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000       1.000
  Tucker-Lewis Index (TLI)                       1.000       1.000
                                                                  
  Robust Comparative Fit Index (CFI)                            NA
  Robust Tucker-Lewis Index (TLI)                               NA

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -24640.784  -24640.784
  Loglikelihood unrestricted model (H1)     -24640.784  -24640.784
                                                                  
  Akaike (AIC)                               49299.567   49299.567
  Bayesian (BIC)                             49359.626   49359.626
  Sample-size adjusted Bayesian (BIC)        49331.026   49331.026

Root Mean Square Error of Approximation:

  RMSEA                                          0.000       0.000
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.000       0.000
  P-value RMSEA <= 0.05                             NA          NA
                                                                  
  Robust RMSEA                                               0.000
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.000       0.000

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                       
    ipeqopt           1.000                               0.595    0.572
    ipudrst           1.059    0.063   16.852    0.000    0.630    0.613
    impenv            0.837    0.046   18.010    0.000    0.498    0.486

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.945    0.014  363.381    0.000    4.945    4.753
   .ipudrst           4.717    0.013  351.024    0.000    4.717    4.592
   .impenv            4.878    0.013  363.981    0.000    4.878    4.761
    Universalism      0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.729    0.030   24.070    0.000    0.729    0.673
   .ipudrst           0.659    0.029   22.371    0.000    0.659    0.624
   .impenv            0.802    0.023   34.294    0.000    0.802    0.764
    Universalism      0.354    0.027   13.341    0.000    1.000    1.000

R-Square:
                   Estimate
    ipeqopt           0.327
    ipudrst           0.376
    impenv            0.236

Since we estimated a model with three indicators, it is a saturated model, i.e. a model identified with 0 degrees of freedom.

This allows the following graphic to be created with standardized factor loadings.

# optional for better display
par(mfrow=c(1,2))

universalism_plot <- universalism_fit %>% 
  semPaths(
    whatLabels = "std", 
    style = "mx", 
    layout = "tree", 
    edge.color = "black", 
    intercepts = F,
    sizeMan = 10, 
    sizeLat = 12, 
    edge.label.cex = 1,
    nCharNodes = 50
  ) 

universalism_plot %>% 
  mark_sig(universalism_fit) %>% 
  plot()

The semptools package also allows us to easily add additional information to our graphics ( https://cran.r-project.org/web/packages/semptools/vignettes/semptools.html). Here I have also included the level of statistical significance.

Step 6

A look at the fit measures shows us that the model is saturated due to the 0 degrees of freedom and thus achieves a perfect data fit.

Step 7

In the following we want to check whether the selected items represent a factor. It can be seen that the factor loadings all reach the cut off of \(\ge\) 0.4 and thus, in combination with the fit indices, there is an appropriate measurement model.

If there are recognizable misfits, we can access the modification indices.

Accordingly, there are no modification options, since the model has just been identified and no degrees of freedom are available.

So let’s look at two more models of Theory of Basic Human Values from the ESS07.

CFA - Tradition/Conformity

Step 1

Tradition: Maintaining and preserving cultural, family or religious traditions

Conformity-Interpersonal: Avoidance of upsetting or harming other people

Conformity-Rules: Compliance with rules, laws, and formal obligations

Name Label Construct
ipmodst Important to be humble and modest, not draw attention Tradition
imptrad Important to follow traditions and customs Tradition
ipfrule Important to care for nature and environment Conformity
ipbhprp Important to behave properly Conformity

Step 2

Indicators are “effects” of the latent variable and therefore we specify a reflective measurement model.

Step 3

We use the reference indicator method again to calculate the model.

Step 4

ESS07 %>% 
  select(ipmodst, imptrad, ipfrule, ipbhprp) %>% 
  mvn() %>% 
  # optional
  export_table(table_width = 1, digits = 3)
Test          |     HZ | p value | MVN
--------------------------------------
Henze-Zirkler | 20.393 |       0 |  NO

Test             |  Variable | Statistic |   p value | Normality
----------------------------------------------------------------
Anderson-Darling |  ipmodst  |  242.6587 |  <0.001   |    NO    
Anderson-Darling |  imptrad  |  202.8157 |  <0.001   |    NO    
Anderson-Darling |  ipfrule  |  173.6286 |  <0.001   |    NO    
Anderson-Darling |  ipbhprp  |  227.9644 |  <0.001   |    NO    

   n |  Mean | Std.Dev | Median | Min | Max | 25th | 75th |   Skew | Kurtosis
-----------------------------------------------------------------------------
5844 | 4.344 |   1.208 |      5 |   1 |   6 |    4 |    5 | -0.643 |   -0.191
5844 | 4.155 |   1.380 |      4 |   1 |   6 |    3 |    5 | -0.529 |   -0.601
5844 | 3.700 |   1.393 |      4 |   1 |   6 |    2 |    5 | -0.161 |   -0.984
5844 | 4.258 |   1.281 |      5 |   1 |   6 |    3 |    5 | -0.554 |   -0.514

The variables are scaled metrically on a scale from 0 to 6 and distributed skewed to the right. In addition, there is neither a univariate nor a multivariate normal distribution.

ESS07 %>% 
  select(ipmodst, imptrad, ipfrule, ipbhprp) %>% 
  correlation() %>% 
  summary() %>% 
  # optional for better display
  export_table(table_width = 1, digits = 2)
Parameter | ipbhprp | ipfrule | imptrad
---------------------------------------
ipmodst   |    0.26 |    0.18 |    0.16
imptrad   |    0.32 |    0.29 |        
ipfrule   |    0.40 |         |        

There is sufficient correlation, so it is initially plausible that a latent factor in the background would explain the common variance.

ESS07 %>%
  select(ipmodst, imptrad, ipfrule, ipbhprp) %>% 
  principal_components(n = 1) %>% 
  check_itemscale() %>%
  # optional for better display 
  export_table(table_width = 1, digits = 2)
Item    | Missings | Mean |   SD | Skewness | Difficulty | Discrimination | alpha if deleted
--------------------------------------------------------------------------------------------
ipmodst |        0 | 4.34 | 1.21 |    -0.64 |       0.72 |           0.27 |             0.60
imptrad |        0 | 4.16 | 1.38 |    -0.53 |       0.69 |           0.36 |             0.54
ipfrule |        0 | 3.70 | 1.39 |    -0.16 |       0.62 |           0.41 |             0.50
ipbhprp |        0 | 4.26 | 1.28 |    -0.55 |       0.71 |           0.48 |             0.45

The selected items can be plausibly mapped together in one scale.

Step 5

tradition_conformity_fit <- cfa(
  model = "TraditionConformity =~ ipmodst + imptrad + ipfrule + ipbhprp",
  data = ESS07,
  estimator = "MLR",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = tradition_conformity_fit,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 31 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        12

  Number of observations                          5844
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                17.439      14.378
  Degrees of freedom                                 2           2
  P-value (Chi-square)                           0.000       0.001
  Scaling correction factor                                  1.213
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              2339.880    1848.011
  Degrees of freedom                                 6           6
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.266

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.993       0.993
  Tucker-Lewis Index (TLI)                       0.980       0.980
                                                                  
  Robust Comparative Fit Index (CFI)                         0.994
  Robust Tucker-Lewis Index (TLI)                            0.981

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -38377.968  -38377.968
  Scaling correction factor                                  1.002
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -38369.248  -38369.248
  Scaling correction factor                                  1.032
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               76779.936   76779.936
  Bayesian (BIC)                             76860.014   76860.014
  Sample-size adjusted Bayesian (BIC)        76821.881   76821.881

Root Mean Square Error of Approximation:

  RMSEA                                          0.036       0.033
  90 Percent confidence interval - lower         0.022       0.019
  90 Percent confidence interval - upper         0.053       0.048
  P-value RMSEA <= 0.05                          0.909       0.973
                                                                  
  Robust RMSEA                                               0.036
  90 Percent confidence interval - lower                     0.020
  90 Percent confidence interval - upper                     0.054

Standardized Root Mean Square Residual:

  SRMR                                           0.011       0.011

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    ipmodst                 1.000                               0.426    0.353
    imptrad                 1.546    0.095   16.327    0.000    0.659    0.477
    ipfrule                 1.875    0.112   16.689    0.000    0.799    0.574
    ipbhprp                 2.084    0.110   18.900    0.000    0.888    0.693

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipmodst           4.344    0.016  274.875    0.000    4.344    3.596
   .imptrad           4.155    0.018  230.189    0.000    4.155    3.011
   .ipfrule           3.700    0.018  203.091    0.000    3.700    2.657
   .ipbhprp           4.258    0.017  254.054    0.000    4.258    3.323
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipmodst           1.278    0.027   48.093    0.000    1.278    0.876
   .imptrad           1.470    0.036   41.297    0.000    1.470    0.772
   .ipfrule           1.301    0.038   34.612    0.000    1.301    0.671
   .ipbhprp           0.853    0.039   21.855    0.000    0.853    0.519
    TraditnCnfrmty    0.182    0.018   10.217    0.000    1.000    1.000

The model is identified with two degrees of freedom.

Step 6

The fit indices show a good fit to the data. All fit indices are below their cut offs.

Step 7

In this model, the factor loading of the item ipmodst is clearly misfit, since the factor loading cut-off of 0.4 is not reached.

Here it has to be considered whether the item has a value for the construct or whether the item has to be removed from the measurement model. We decide to take it out.

Further modifications are not necessary since the model shows a very good fit to the data.

tradition_conformity_fit2 <- cfa(
  model = "TraditionConformity =~ imptrad + ipfrule + ipbhprp",
  data = ESS07,
  estimator = "MLR",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = tradition_conformity_fit2,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 28 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                         9

  Number of observations                          5844
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 0.000       0.000
  Degrees of freedom                                 0           0

Model Test Baseline Model:

  Test statistic                              1849.694    1427.618
  Degrees of freedom                                 3           3
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.296

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000       1.000
  Tucker-Lewis Index (TLI)                       1.000       1.000
                                                                  
  Robust Comparative Fit Index (CFI)                         1.000
  Robust Tucker-Lewis Index (TLI)                            1.000

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -29217.708  -29217.708
  Loglikelihood unrestricted model (H1)     -29217.708  -29217.708
                                                                  
  Akaike (AIC)                               58453.417   58453.417
  Bayesian (BIC)                             58513.475   58513.475
  Sample-size adjusted Bayesian (BIC)        58484.876   58484.876

Root Mean Square Error of Approximation:

  RMSEA                                          0.000       0.000
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.000       0.000
  P-value RMSEA <= 0.05                             NA          NA
                                                                  
  Robust RMSEA                                               0.000
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.000       0.000

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.673    0.488
    ipfrule                 1.247    0.059   21.170    0.000    0.839    0.602
    ipbhprp                 1.252    0.061   20.475    0.000    0.842    0.658

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.155    0.018  230.189    0.000    4.155    3.011
   .ipfrule           3.700    0.018  203.091    0.000    3.700    2.657
   .ipbhprp           4.258    0.017  254.054    0.000    4.258    3.323
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           1.452    0.036   39.882    0.000    1.452    0.762
   .ipfrule           1.236    0.043   29.051    0.000    1.236    0.637
   .ipbhprp           0.932    0.040   23.156    0.000    0.932    0.568
    TraditnCnfrmty    0.453    0.032   14.009    0.000    1.000    1.000

This makes the measurement model suitable for further use.

CFA - Perceived Threat

Step 1

Name Label Construct
imbgeco Immigration bad or good for country’s economy Perceived threat
imueclt Country’s cultural life undermined or enriched by immigrants Perceived threat
imtcjob Immigrants take jobs away in country or create new jobs Perceived threat
rlgueim Religious beliefs and practices undermined or enriched by immigrants Perceived threat

Step 2

Indicators are “effects” of the latent variable and therefore we specify a reflective measurement model

Step 3

We use the reference indicator method again to calculate the model.

Step 4

ESS07 %>%
  select(imbgeco, imueclt, imtcjob, rlgueim) %>%
  mvn() %>%
  # optional for better display 
  export_table(table_width = 1, digits = 3)
Test          |     HZ | p value | MVN
--------------------------------------
Henze-Zirkler | 17.085 |       0 |  NO

Test             |  Variable | Statistic |   p value | Normality
----------------------------------------------------------------
Anderson-Darling |  imbgeco  |   61.6271 |  <0.001   |    NO    
Anderson-Darling |  imueclt  |   53.8325 |  <0.001   |    NO    
Anderson-Darling |  imtcjob  |  103.8354 |  <0.001   |    NO    
Anderson-Darling |  rlgueim  |  108.6560 |  <0.001   |    NO    

   n |  Mean | Std.Dev | Median | Min | Max | 25th | 75th |  Skew | Kurtosis
----------------------------------------------------------------------------
5844 | 4.979 |   2.466 |      5 |   0 |  10 |    3 |    7 | 0.186 |   -0.521
5844 | 4.696 |   2.577 |      5 |   0 |  10 |    3 |    6 | 0.174 |   -0.623
5844 | 5.187 |   2.301 |      5 |   0 |  10 |    4 |    7 | 0.228 |   -0.165
5844 | 5.318 |   2.188 |      5 |   0 |  10 |    4 |    7 | 0.041 |    0.053

The variables are scaled metrically on a scale from 0 to 10. Nevertheless, there is neither a univariate nor a multivariate normal distribution.

ESS07 %>% 
  select(imbgeco, imueclt, imtcjob, rlgueim) %>% 
  correlation() %>% 
  summary() %>% 
  # optional for better display
  export_table(table_width = 1, digits = 2)
Parameter | rlgueim | imtcjob | imueclt
---------------------------------------
imbgeco   |    0.44 |    0.59 |    0.67
imueclt   |    0.57 |    0.54 |        
imtcjob   |    0.41 |         |        

There is sufficient correlation, so it is initially plausible that a latent factor in the background would explain the common variance.

ESS07 %>%
  select(imbgeco, imueclt, imtcjob, rlgueim) %>% 
  principal_components(n = 1) %>% 
  check_itemscale() %>%
  # optional for better display 
  export_table(table_width = 1, digits = 2)
Item    | Missings | Mean |   SD | Skewness | Difficulty | Discrimination | alpha if deleted
--------------------------------------------------------------------------------------------
imbgeco |        0 | 4.98 | 2.47 |     0.19 |       0.50 |           0.70 |             0.76
imueclt |        0 | 4.70 | 2.58 |     0.17 |       0.47 |           0.73 |             0.74
imtcjob |        0 | 5.19 | 2.30 |     0.23 |       0.52 |           0.61 |             0.79
rlgueim |        0 | 5.32 | 2.19 |     0.04 |       0.53 |           0.56 |             0.82

The selected items can be plausibly mapped together in one scale.

Step 5

perceived_threat_fit <- cfa(
  model = "PerceivedThreat =~ imbgeco + imueclt + imtcjob + rlgueim",
  data = ESS07,
  estimator = "MLR",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = perceived_threat_fit,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 27 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        12

  Number of observations                          5844
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               279.766     184.727
  Degrees of freedom                                 2           2
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.514
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              8797.948    5161.721
  Degrees of freedom                                 6           6
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.704

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.968       0.965
  Tucker-Lewis Index (TLI)                       0.905       0.894
                                                                  
  Robust Comparative Fit Index (CFI)                         0.969
  Robust Tucker-Lewis Index (TLI)                            0.906

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -49161.345  -49161.345
  Scaling correction factor                                  1.214
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -49021.462  -49021.462
  Scaling correction factor                                  1.257
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               98346.690   98346.690
  Bayesian (BIC)                             98426.768   98426.768
  Sample-size adjusted Bayesian (BIC)        98388.636   98388.636

Root Mean Square Error of Approximation:

  RMSEA                                          0.154       0.125
  90 Percent confidence interval - lower         0.139       0.113
  90 Percent confidence interval - upper         0.170       0.138
  P-value RMSEA <= 0.05                          0.000       0.000
                                                                  
  Robust RMSEA                                               0.154
  90 Percent confidence interval - lower                     0.136
  90 Percent confidence interval - upper                     0.173

Standardized Root Mean Square Residual:

  SRMR                                           0.026       0.026

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.000                               1.967    0.798
    imueclt             1.105    0.022   51.221    0.000    2.174    0.844
    imtcjob             0.792    0.015   52.565    0.000    1.559    0.677
    rlgueim             0.692    0.020   34.946    0.000    1.362    0.622

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           4.979    0.032  154.352    0.000    4.979    2.019
   .imueclt           4.696    0.034  139.327    0.000    4.696    1.823
   .imtcjob           5.187    0.030  172.337    0.000    5.187    2.254
   .rlgueim           5.318    0.029  185.807    0.000    5.318    2.431
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           2.211    0.085   26.148    0.000    2.211    0.364
   .imueclt           1.913    0.094   20.355    0.000    1.913    0.288
   .imtcjob           2.865    0.087   33.077    0.000    2.865    0.541
   .rlgueim           2.933    0.080   36.474    0.000    2.933    0.613
    PerceivedThret    3.870    0.119   32.528    0.000    1.000    1.000

The model is identified with two degrees of freedom.

Step 6

The model shows a clear misspecification by the RMSEA index.

Step 7

The factor loadings all show sufficient loading. So we can immediately devote ourselves to the modification indices in order to understand the misspecification evident in the RMSEA.

perceived_threat_fit %>% 
  modificationindices(standardized = T, sort. = T)
       lhs op     rhs      mi    epc sepc.lv sepc.all sepc.nox
19 imueclt ~~ rlgueim 238.993  0.877   0.877    0.370    0.370
16 imbgeco ~~ imtcjob 238.993  0.909   0.909    0.361    0.361
17 imbgeco ~~ rlgueim 207.425 -0.747  -0.747   -0.293   -0.293
18 imueclt ~~ imtcjob 207.424 -0.945  -0.945   -0.403   -0.403
20 imtcjob ~~ rlgueim   1.848 -0.063  -0.063   -0.022   -0.022
15 imbgeco ~~ imueclt   1.848 -0.127  -0.127   -0.062   -0.062
  • Column op indicates the operator or type of parameter
  • Column mi contains the modification indices
  • Column epc contains the expected parameter change if the parameter was estimated

The modification indices tell us that adjusting the residual covariance between items imueclt and rlgueim would have the largest effect on model fitting (in terms of the chi-square test statistic).

This is because some of the covariation of imueclt and rlgueim is due to sources other than the common factor.

Reasons: method effects, item wording, acquiescence, social desirability, unaccounted theoretical common causes.

We then modify our initial model and remove the residual covariance constraint between the two items, which is fixed at 0, and let it calculate freely.

perceived_threat_fit2 <- cfa(
  model = "
  PerceivedThreat =~ imbgeco + imueclt + imtcjob + rlgueim
  
  imueclt   ~~  rlgueim
  ",
  data = ESS07,
  estimator = "MLR",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = perceived_threat_fit2,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 31 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        13

  Number of observations                          5844
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                47.224      31.440
  Degrees of freedom                                 1           1
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.502
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              8797.948    5161.721
  Degrees of freedom                                 6           6
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.704

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.995       0.994
  Tucker-Lewis Index (TLI)                       0.968       0.965
                                                                  
  Robust Comparative Fit Index (CFI)                         0.995
  Robust Tucker-Lewis Index (TLI)                            0.969

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -49045.074  -49045.074
  Scaling correction factor                                  1.238
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -49021.462  -49021.462
  Scaling correction factor                                  1.257
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               98116.148   98116.148
  Bayesian (BIC)                             98202.900   98202.900
  Sample-size adjusted Bayesian (BIC)        98161.589   98161.589

Root Mean Square Error of Approximation:

  RMSEA                                          0.089       0.072
  90 Percent confidence interval - lower         0.068       0.055
  90 Percent confidence interval - upper         0.111       0.091
  P-value RMSEA <= 0.05                          0.001       0.016
                                                                  
  Robust RMSEA                                               0.088
  90 Percent confidence interval - lower                     0.064
  90 Percent confidence interval - upper                     0.116

Standardized Root Mean Square Residual:

  SRMR                                           0.012       0.012

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.000                               2.100    0.851
    imueclt             0.963    0.019   50.389    0.000    2.022    0.785
    imtcjob             0.760    0.017   46.031    0.000    1.596    0.694
    rlgueim             0.559    0.018   30.307    0.000    1.174    0.537

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.848    0.072   11.715    0.000    0.848    0.287

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           4.979    0.032  154.352    0.000    4.979    2.019
   .imueclt           4.696    0.034  139.327    0.000    4.696    1.823
   .imtcjob           5.187    0.030  172.337    0.000    5.187    2.254
   .rlgueim           5.318    0.029  185.807    0.000    5.318    2.431
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           1.673    0.091   18.481    0.000    1.673    0.275
   .imueclt           2.551    0.097   26.176    0.000    2.551    0.384
   .imtcjob           2.747    0.084   32.790    0.000    2.747    0.519
   .rlgueim           3.409    0.086   39.542    0.000    3.409    0.712
    PerceivedThret    4.408    0.126   34.979    0.000    1.000    1.000

The RMSEA is then back in our anticipated cut-off area and we can continue working with the measurement model.

perceived_threat_fit2 %>% 
  semPaths(
    whatLabels = "std", 
    style = "mx", 
    layout = "tree", 
    edge.color = "black", 
    intercepts = F, 
    sizeMan = 9, 
    sizeLat = 10, 
    edge.label.cex = 0.7,
    nCharNodes = 50
  ) 

Step 8

Finally, we want to display the mean structure of our model.

In practice, the only reason why a user would add intercept-formulas in the model syntax is because some constraints must be specified on them.

perceived_threat_mean <- cfa(
  model = "
  PerceivedThreat =~ imbgeco + imueclt + imtcjob + rlgueim
  
  imueclt   ~~  rlgueim
  ",
  data = ESS07,
  estimator = "MLR",
  # optional if there are missing values
  missing = "fiml.x",
  meanstructure = T
)
summary(
  object = perceived_threat_mean,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 31 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        13

  Number of observations                          5844
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                47.224      31.440
  Degrees of freedom                                 1           1
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.502
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              8797.948    5161.721
  Degrees of freedom                                 6           6
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.704

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.995       0.994
  Tucker-Lewis Index (TLI)                       0.968       0.965
                                                                  
  Robust Comparative Fit Index (CFI)                         0.995
  Robust Tucker-Lewis Index (TLI)                            0.969

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -49045.074  -49045.074
  Scaling correction factor                                  1.238
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -49021.462  -49021.462
  Scaling correction factor                                  1.257
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               98116.148   98116.148
  Bayesian (BIC)                             98202.900   98202.900
  Sample-size adjusted Bayesian (BIC)        98161.589   98161.589

Root Mean Square Error of Approximation:

  RMSEA                                          0.089       0.072
  90 Percent confidence interval - lower         0.068       0.055
  90 Percent confidence interval - upper         0.111       0.091
  P-value RMSEA <= 0.05                          0.001       0.016
                                                                  
  Robust RMSEA                                               0.088
  90 Percent confidence interval - lower                     0.064
  90 Percent confidence interval - upper                     0.116

Standardized Root Mean Square Residual:

  SRMR                                           0.012       0.012

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.000                               2.100    0.851
    imueclt             0.963    0.019   50.389    0.000    2.022    0.785
    imtcjob             0.760    0.017   46.031    0.000    1.596    0.694
    rlgueim             0.559    0.018   30.307    0.000    1.174    0.537

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.848    0.072   11.715    0.000    0.848    0.287

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           4.979    0.032  154.352    0.000    4.979    2.019
   .imueclt           4.696    0.034  139.327    0.000    4.696    1.823
   .imtcjob           5.187    0.030  172.337    0.000    5.187    2.254
   .rlgueim           5.318    0.029  185.807    0.000    5.318    2.431
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           1.673    0.091   18.481    0.000    1.673    0.275
   .imueclt           2.551    0.097   26.176    0.000    2.551    0.384
   .imtcjob           2.747    0.084   32.790    0.000    2.747    0.519
   .rlgueim           3.409    0.086   39.542    0.000    3.409    0.712
    PerceivedThret    4.408    0.126   34.979    0.000    1.000    1.000

Measurement Invaraince

Procedure

Are measurements actually comparable across groups/time?

Commen core: Measurement invariance is a property of a measurement instrument, implying that the instrument measures the same concept in the same way across subgroups of respondents or time points of data assessment.

Measurement invariance (MI) can be assessed with multiple-group CFA (MGCFA). Impose equality constrains on measurement parameters across groups/time (“fix them to be equal”).

Use a sequential testing strategy to test different levels of measurement invariance:

  • Checking whether the models in the individual groups can be measured properly
  • Configural MI
  • Metric (weak) MI
  • Scalar (strong) MI
  • Strict MI

Configural measurement invariance

Equality constraints:

Equal structure: pattern of factors and relationships of indicators and factors is equal across groups

Implications:

Same construct exists across groups; no comparisons of estimates!

Metric measurement invariance

Equality constraints:

Equal structure + equal factor loadings across groups

\[\lambda^1 = \lambda^2 = \lambda^G\]

Implications:

Respondents from different groups attribute the same meaning to a construct; comparisons of regression coefficients, correlations, variances are valid.

Scalar measurement invariance

Equality constraints:

Equal structure + equal factor loadings + equal intercepts across groups

\[ \begin{split} \lambda^1 = \lambda^2 = \lambda^G \\ \tau^1 = \tau^2 = \tau^G \end{split} \]

Implications:

Respondents from different groups “use” the scale in a similar manner; comparison of latent means are valid

Result

  • Configural invariance: same structure across groups
  • Metric invariance: factor loadings set equal across groups
  • Scalar invariance: factor loadings and intercepts set equal across groups

How decide which level of measurement invariance is supported by the data?

  1. Consecutively estimate the configural, metric, and scalar invariance models
  2. Inspect model fit as usual: \(\chi^2\) (df), CFI, RMSEA
  3. Inspect model fit differences between models:
    • \(\chi^2 / \Delta\chi^2 (df/\Delta df)\)
    • \(CFI/\Delta CFI;RMSEA/\Delta RMSEA\)

Difference test for two nested models (m1 and m2)

\(\chi^2_d=\chi^2_{m1}-\chi^2_{m2}\ with\ df_{m1}-df_{m2}\)

  • m1 is nested in m2 if m1 can be derived from m2 by fixing or removing free parameters
  • m1 is the simpler model (it has more df)
  • \(\chi^2_d\) tells us how much m1 fits worse than m2

Traditional \(\chi^2\) difference testing is sensitive to sample size!

Guidelines using alternative fit indices - Chen (2007): differences between a constrained model (m1) and a more liberal model (m2) are considered irrelevant when

N > 300: \(CFI(m1)-CFI(m2)\leq-.10\ and\ RMSEA(m1)-RMSEA(m2)\leq.015\)

N \(\leq\) 300: \(CFI(m1)-CFI(m2)\leq-.005\ and\ RMSEA(m1)-RMSEA(m2)\leq.010\)

MI - Universalism

Do the mean levels of endorsement of universalism values differ across the CZ, DE, and GB?

Measurement for each group

Before we can approach a common model across all groups, we have to check whether the envisaged measurement model can be measured properly in each group.

ESS07_countries <- group_split(ESS07, country) %>% 
  # optional for better display
  set_names(unique(ESS07$country))

We have now split the entire data set into three individual data sets according to the respective countries. These data sets are now checked individually as a measurement model.

Reference indicator method

universalism_fit_countries <- ESS07_countries %>% 
  map(~ cfa(
    model = "Universalism =~ ipeqopt + ipudrst + impenv", 
    data = .,
    estimator = "MLR",
    # optional if there are missing values
    missing = "fiml.x"
    ))
universalism_fit_countries %>% 
  map(~ summary(
    object = .,
    fit.measures = T,
    standardized = T
    # rsquare = T
  ))
$CZ
lavaan 0.6-12 ended normally after 24 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                         9

  Number of observations                          1393
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 0.000       0.000
  Degrees of freedom                                 0           0

Model Test Baseline Model:

  Test statistic                               405.539     263.905
  Degrees of freedom                                 3           3
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.537

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000       1.000
  Tucker-Lewis Index (TLI)                       1.000       1.000
                                                                  
  Robust Comparative Fit Index (CFI)                            NA
  Robust Tucker-Lewis Index (TLI)                               NA

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)              -5999.450   -5999.450
  Loglikelihood unrestricted model (H1)      -5999.450   -5999.450
                                                                  
  Akaike (AIC)                               12016.901   12016.901
  Bayesian (BIC)                             12064.054   12064.054
  Sample-size adjusted Bayesian (BIC)        12035.464   12035.464

Root Mean Square Error of Approximation:

  RMSEA                                          0.000       0.000
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.000       0.000
  P-value RMSEA <= 0.05                             NA          NA
                                                                  
  Robust RMSEA                                               0.000
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.000       0.000

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                       
    ipeqopt           1.000                               0.603    0.568
    ipudrst           0.949    0.106    8.917    0.000    0.573    0.525
    impenv            1.085    0.121    8.991    0.000    0.655    0.624

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.538    0.028  159.514    0.000    4.538    4.274
   .ipudrst           4.252    0.029  145.438    0.000    4.252    3.897
   .impenv            4.688    0.028  166.708    0.000    4.688    4.467
    Universalism      0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.763    0.061   12.569    0.000    0.763    0.677
   .ipudrst           0.863    0.056   15.343    0.000    0.863    0.725
   .impenv            0.673    0.056   11.989    0.000    0.673    0.611
    Universalism      0.364    0.053    6.882    0.000    1.000    1.000


$DE
lavaan 0.6-12 ended normally after 26 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                         9

  Number of observations                          2671
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 0.000       0.000
  Degrees of freedom                                 0           0

Model Test Baseline Model:

  Test statistic                               484.674     330.007
  Degrees of freedom                                 3           3
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.469

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000       1.000
  Tucker-Lewis Index (TLI)                       1.000       1.000
                                                                  
  Robust Comparative Fit Index (CFI)                            NA
  Robust Tucker-Lewis Index (TLI)                               NA

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -10537.895  -10537.895
  Loglikelihood unrestricted model (H1)     -10537.895  -10537.895
                                                                  
  Akaike (AIC)                               21093.791   21093.791
  Bayesian (BIC)                             21146.803   21146.803
  Sample-size adjusted Bayesian (BIC)        21118.207   21118.207

Root Mean Square Error of Approximation:

  RMSEA                                          0.000       0.000
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.000       0.000
  P-value RMSEA <= 0.05                             NA          NA
                                                                  
  Robust RMSEA                                               0.000
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.000       0.000

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                       
    ipeqopt           1.000                               0.490    0.513
    ipudrst           0.967    0.103    9.408    0.000    0.474    0.539
    impenv            0.919    0.095    9.675    0.000    0.451    0.473

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           5.126    0.019  276.841    0.000    5.126    5.357
   .ipudrst           4.961    0.017  291.447    0.000    4.961    5.639
   .impenv            4.996    0.018  271.054    0.000    4.996    5.245
    Universalism      0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.675    0.043   15.616    0.000    0.675    0.737
   .ipudrst           0.549    0.034   16.238    0.000    0.549    0.709
   .impenv            0.705    0.034   20.767    0.000    0.705    0.776
    Universalism      0.241    0.033    7.189    0.000    1.000    1.000


$GB
lavaan 0.6-12 ended normally after 27 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                         9

  Number of observations                          1780
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 0.000       0.000
  Degrees of freedom                                 0           0

Model Test Baseline Model:

  Test statistic                               399.509     284.623
  Degrees of freedom                                 3           3
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.404

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000       1.000
  Tucker-Lewis Index (TLI)                       1.000       1.000
                                                                  
  Robust Comparative Fit Index (CFI)                            NA
  Robust Tucker-Lewis Index (TLI)                               NA

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)              -7712.332   -7712.332
  Loglikelihood unrestricted model (H1)      -7712.332   -7712.332
                                                                  
  Akaike (AIC)                               15442.664   15442.664
  Bayesian (BIC)                             15492.023   15492.023
  Sample-size adjusted Bayesian (BIC)        15463.431   15463.431

Root Mean Square Error of Approximation:

  RMSEA                                          0.000       0.000
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.000       0.000
  P-value RMSEA <= 0.05                             NA          NA
                                                                  
  Robust RMSEA                                               0.000
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.000       0.000

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                       
    ipeqopt           1.000                               0.560    0.530
    ipudrst           1.263    0.163    7.745    0.000    0.707    0.670
    impenv            0.765    0.085    9.011    0.000    0.429    0.396

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.994    0.025  199.417    0.000    4.994    4.727
   .ipudrst           4.716    0.025  188.538    0.000    4.716    4.469
   .impenv            4.849    0.026  188.959    0.000    4.849    4.479
    Universalism      0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.803    0.055   14.701    0.000    0.803    0.719
   .ipudrst           0.614    0.072    8.558    0.000    0.614    0.551
   .impenv            0.988    0.044   22.454    0.000    0.988    0.843
    Universalism      0.314    0.051    6.179    0.000    1.000    1.000

In all countries the measurement model reaches an acceptable form. In the next step, we can calculate all countries without constraints in a model and see whether there is an adequate fit here as well.

Fixed factor method

universalism_fit_countries2 <- ESS07_countries %>% 
  map(~ cfa(
    model = "
    uni =~ NA*ipeqopt + ipudrst + impenv
    uni ~~ 1*uni
    ", 
    data = .,
    estimator = "MLR",
    # optional if there are missing values
    missing = "fiml.x"
    ))
universalism_fit_countries2 %>% 
  map(~ summary(
    object = .,
    fit.measures = T,
    standardized = T
    # rsquare = T
  ))
$CZ
lavaan 0.6-12 ended normally after 15 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                         9

  Number of observations                          1393
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 0.000       0.000
  Degrees of freedom                                 0           0

Model Test Baseline Model:

  Test statistic                               405.539     263.905
  Degrees of freedom                                 3           3
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.537

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000       1.000
  Tucker-Lewis Index (TLI)                       1.000       1.000
                                                                  
  Robust Comparative Fit Index (CFI)                         1.000
  Robust Tucker-Lewis Index (TLI)                            1.000

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)              -5999.450   -5999.450
  Loglikelihood unrestricted model (H1)      -5999.450   -5999.450
                                                                  
  Akaike (AIC)                               12016.901   12016.901
  Bayesian (BIC)                             12064.054   12064.054
  Sample-size adjusted Bayesian (BIC)        12035.464   12035.464

Root Mean Square Error of Approximation:

  RMSEA                                          0.000       0.000
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.000       0.000
  P-value RMSEA <= 0.05                             NA          NA
                                                                  
  Robust RMSEA                                               0.000
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.000       0.000

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt           0.603    0.044   13.763    0.000    0.603    0.568
    ipudrst           0.573    0.045   12.689    0.000    0.573    0.525
    impenv            0.655    0.046   14.238    0.000    0.655    0.624

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.538    0.028  159.514    0.000    4.538    4.274
   .ipudrst           4.252    0.029  145.438    0.000    4.252    3.897
   .impenv            4.688    0.028  166.708    0.000    4.688    4.467
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    uni               1.000                               1.000    1.000
   .ipeqopt           0.763    0.061   12.569    0.000    0.763    0.677
   .ipudrst           0.863    0.056   15.343    0.000    0.863    0.725
   .impenv            0.673    0.056   11.989    0.000    0.673    0.611


$DE
lavaan 0.6-12 ended normally after 17 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                         9

  Number of observations                          2671
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 0.000       0.000
  Degrees of freedom                                 0           0

Model Test Baseline Model:

  Test statistic                               484.674     330.007
  Degrees of freedom                                 3           3
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.469

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000       1.000
  Tucker-Lewis Index (TLI)                       1.000       1.000
                                                                  
  Robust Comparative Fit Index (CFI)                            NA
  Robust Tucker-Lewis Index (TLI)                               NA

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -10537.895  -10537.895
  Loglikelihood unrestricted model (H1)     -10537.895  -10537.895
                                                                  
  Akaike (AIC)                               21093.791   21093.791
  Bayesian (BIC)                             21146.803   21146.803
  Sample-size adjusted Bayesian (BIC)        21118.207   21118.207

Root Mean Square Error of Approximation:

  RMSEA                                          0.000       0.000
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.000       0.000
  P-value RMSEA <= 0.05                             NA          NA
                                                                  
  Robust RMSEA                                               0.000
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.000       0.000

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt           0.490    0.034   14.379    0.000    0.490    0.513
    ipudrst           0.474    0.032   14.709    0.000    0.474    0.539
    impenv            0.451    0.032   14.237    0.000    0.451    0.473

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           5.126    0.019  276.841    0.000    5.126    5.357
   .ipudrst           4.961    0.017  291.447    0.000    4.961    5.639
   .impenv            4.996    0.018  271.054    0.000    4.996    5.245
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    uni               1.000                               1.000    1.000
   .ipeqopt           0.675    0.043   15.616    0.000    0.675    0.737
   .ipudrst           0.549    0.034   16.238    0.000    0.549    0.709
   .impenv            0.705    0.034   20.767    0.000    0.705    0.776


$GB
lavaan 0.6-12 ended normally after 17 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                         9

  Number of observations                          1780
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 0.000       0.000
  Degrees of freedom                                 0           0

Model Test Baseline Model:

  Test statistic                               399.509     284.623
  Degrees of freedom                                 3           3
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.404

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000       1.000
  Tucker-Lewis Index (TLI)                       1.000       1.000
                                                                  
  Robust Comparative Fit Index (CFI)                            NA
  Robust Tucker-Lewis Index (TLI)                               NA

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)              -7712.332   -7712.332
  Loglikelihood unrestricted model (H1)      -7712.332   -7712.332
                                                                  
  Akaike (AIC)                               15442.664   15442.664
  Bayesian (BIC)                             15492.023   15492.023
  Sample-size adjusted Bayesian (BIC)        15463.431   15463.431

Root Mean Square Error of Approximation:

  RMSEA                                          0.000       0.000
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.000       0.000
  P-value RMSEA <= 0.05                             NA          NA
                                                                  
  Robust RMSEA                                               0.000
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.000       0.000

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt           0.560    0.045   12.359    0.000    0.560    0.530
    ipudrst           0.707    0.052   13.486    0.000    0.707    0.670
    impenv            0.429    0.041   10.552    0.000    0.429    0.396

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.994    0.025  199.417    0.000    4.994    4.727
   .ipudrst           4.716    0.025  188.538    0.000    4.716    4.469
   .impenv            4.849    0.026  188.959    0.000    4.849    4.479
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    uni               1.000                               1.000    1.000
   .ipeqopt           0.803    0.055   14.701    0.000    0.803    0.719
   .ipudrst           0.614    0.072    8.558    0.000    0.614    0.551
   .impenv            0.988    0.044   22.454    0.000    0.988    0.843

Configural model

Since the configurale model has no constraints, we only have to name the groups to be compared. This happens in Lavaan mainly via the function argument group = “grouping_variable”. In the more detailed form, we can also name the groups when specifying the model.

Reference indicator method

universalism_fit_config <- cfa(
  model = "
    group: [CZ]
    uni =~ ipeqopt + ipudrst + impenv
    group: [DE]
    uni =~ ipeqopt + ipudrst + impenv
    group: [GB]
    uni =~ ipeqopt + ipudrst + impenv
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)

Lavaan carries out the model specification of the groups with the argument group = “grouping_variable” automatically, unless we want to carry out our own specification. The result is the same.

universalism_fit_config <- cfa(
  model = "uni =~ ipeqopt + ipudrst + impenv",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)

Nevertheless, it makes sense to keep control of the desired restrictions at the beginning and also in the further course.

summary(
  object = universalism_fit_config,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 71 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        27

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 0.000       0.000
  Degrees of freedom                                 0           0
  Test statistic for each group:
    CZ                                           0.000       0.000
    DE                                           0.000       0.000
    GB                                           0.000       0.000

Model Test Baseline Model:

  Test statistic                              1289.722     877.559
  Degrees of freedom                                 9           9
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.470

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000       1.000
  Tucker-Lewis Index (TLI)                       1.000       1.000
                                                                  
  Robust Comparative Fit Index (CFI)                            NA
  Robust Tucker-Lewis Index (TLI)                               NA

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -24249.678  -24249.678
  Loglikelihood unrestricted model (H1)     -24249.678  -24249.678
                                                                  
  Akaike (AIC)                               48553.355   48553.355
  Bayesian (BIC)                             48733.531   48733.531
  Sample-size adjusted Bayesian (BIC)        48647.732   48647.732

Root Mean Square Error of Approximation:

  RMSEA                                          0.000       0.000
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.000       0.000
  P-value RMSEA <= 0.05                             NA          NA
                                                                  
  Robust RMSEA                                               0.000
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.000       0.000

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt           1.000                               0.603    0.568
    ipudrst           0.949    0.106    8.917    0.000    0.573    0.525
    impenv            1.085    0.121    8.991    0.000    0.655    0.624

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.538    0.028  159.514    0.000    4.538    4.274
   .ipudrst           4.252    0.029  145.438    0.000    4.252    3.897
   .impenv            4.688    0.028  166.708    0.000    4.688    4.467
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.763    0.061   12.569    0.000    0.763    0.677
   .ipudrst           0.863    0.056   15.343    0.000    0.863    0.725
   .impenv            0.673    0.056   11.989    0.000    0.673    0.611
    uni               0.364    0.053    6.882    0.000    1.000    1.000


Group 2 [DE]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt           1.000                               0.490    0.513
    ipudrst           0.967    0.103    9.408    0.000    0.474    0.539
    impenv            0.919    0.095    9.675    0.000    0.451    0.473

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           5.126    0.019  276.841    0.000    5.126    5.357
   .ipudrst           4.961    0.017  291.447    0.000    4.961    5.639
   .impenv            4.996    0.018  271.054    0.000    4.996    5.245
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.675    0.043   15.616    0.000    0.675    0.737
   .ipudrst           0.549    0.034   16.238    0.000    0.549    0.709
   .impenv            0.705    0.034   20.767    0.000    0.705    0.776
    uni               0.241    0.033    7.189    0.000    1.000    1.000


Group 3 [GB]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt           1.000                               0.560    0.530
    ipudrst           1.263    0.163    7.745    0.000    0.707    0.670
    impenv            0.765    0.085    9.011    0.000    0.429    0.396

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.994    0.025  199.417    0.000    4.994    4.727
   .ipudrst           4.716    0.025  188.538    0.000    4.716    4.469
   .impenv            4.849    0.026  188.959    0.000    4.849    4.479
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.803    0.055   14.701    0.000    0.803    0.719
   .ipudrst           0.614    0.072    8.558    0.000    0.614    0.551
   .impenv            0.988    0.044   22.454    0.000    0.988    0.843
    uni               0.314    0.051    6.179    0.000    1.000    1.000

The mean structure is estimated as the default: intercepts are unconstrained, latent means are fixed to zero.

Result:

Again, we see that the model works well.

  • All parameters differ across groups, the latent means are fixed to zero
  • The model is just identified

Fixed factor method

universalism_fit_config2 <- cfa(
  model = "
    group: [CZ]
    uni =~ NA*ipeqopt + ipudrst + impenv
    uni ~~ 1*uni
    group: [DE]
    uni =~ NA*ipeqopt + ipudrst + impenv
    uni ~~ 1*uni
    group: [GB]
    uni =~ NA*ipeqopt + ipudrst + impenv
    uni ~~ 1*uni
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = universalism_fit_config2,
  fit.measures = T,
  standardized = T
)
lavaan 0.6-12 ended normally after 50 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        27

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 0.000       0.000
  Degrees of freedom                                 0           0
  Test statistic for each group:
    CZ                                           0.000       0.000
    DE                                           0.000       0.000
    GB                                           0.000       0.000

Model Test Baseline Model:

  Test statistic                              1289.722     877.559
  Degrees of freedom                                 9           9
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.470

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000       1.000
  Tucker-Lewis Index (TLI)                       1.000       1.000
                                                                  
  Robust Comparative Fit Index (CFI)                            NA
  Robust Tucker-Lewis Index (TLI)                               NA

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -24249.678  -24249.678
  Loglikelihood unrestricted model (H1)     -24249.678  -24249.678
                                                                  
  Akaike (AIC)                               48553.355   48553.355
  Bayesian (BIC)                             48733.531   48733.531
  Sample-size adjusted Bayesian (BIC)        48647.732   48647.732

Root Mean Square Error of Approximation:

  RMSEA                                          0.000       0.000
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.000       0.000
  P-value RMSEA <= 0.05                             NA          NA
                                                                  
  Robust RMSEA                                               0.000
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.000       0.000

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt           0.603    0.044   13.763    0.000    0.603    0.568
    ipudrst           0.573    0.045   12.689    0.000    0.573    0.525
    impenv            0.655    0.046   14.238    0.000    0.655    0.624

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.538    0.028  159.514    0.000    4.538    4.274
   .ipudrst           4.252    0.029  145.438    0.000    4.252    3.897
   .impenv            4.688    0.028  166.708    0.000    4.688    4.467
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    uni               1.000                               1.000    1.000
   .ipeqopt           0.763    0.061   12.569    0.000    0.763    0.677
   .ipudrst           0.863    0.056   15.343    0.000    0.863    0.725
   .impenv            0.673    0.056   11.989    0.000    0.673    0.611


Group 2 [DE]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt           0.490    0.034   14.379    0.000    0.490    0.513
    ipudrst           0.474    0.032   14.709    0.000    0.474    0.539
    impenv            0.451    0.032   14.237    0.000    0.451    0.473

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           5.126    0.019  276.841    0.000    5.126    5.357
   .ipudrst           4.961    0.017  291.447    0.000    4.961    5.639
   .impenv            4.996    0.018  271.054    0.000    4.996    5.245
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    uni               1.000                               1.000    1.000
   .ipeqopt           0.675    0.043   15.616    0.000    0.675    0.737
   .ipudrst           0.549    0.034   16.238    0.000    0.549    0.709
   .impenv            0.705    0.034   20.767    0.000    0.705    0.776


Group 3 [GB]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt           0.560    0.045   12.359    0.000    0.560    0.530
    ipudrst           0.707    0.052   13.486    0.000    0.707    0.670
    impenv            0.429    0.041   10.552    0.000    0.429    0.396

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.994    0.025  199.417    0.000    4.994    4.727
   .ipudrst           4.716    0.025  188.538    0.000    4.716    4.469
   .impenv            4.849    0.026  188.959    0.000    4.849    4.479
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    uni               1.000                               1.000    1.000
   .ipeqopt           0.803    0.055   14.701    0.000    0.803    0.719
   .ipudrst           0.614    0.072    8.558    0.000    0.614    0.551
   .impenv            0.988    0.044   22.454    0.000    0.988    0.843

Metric model

Next we want to check whether there is also a metric measurement invariance.

Since we have to equate the factor loadings for the metric measurement invariance (constrains), we have to work with labels in front of the parameters.

Reference indicator method

universalism_fit_metric <- cfa(
    model = "
    group: [CZ]
    uni =~ ipeqopt + a*ipudrst + b*impenv
    group: [DE]
    uni =~ ipeqopt + a*ipudrst + b*impenv
    group: [GB]
    uni =~ ipeqopt + a*ipudrst + b*impenv
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)

Here it can be clearly seen that we use the reference indicator methods and that only the factor loadings of the second and third items have to be equated across the groups. For the first item we use the label “a” across all groups and for the second item we use the label “b” to indicate to lavaan that these parameters are assumed to have the same value across the groups when calculating the model.

Here, too, the model specification can be simplified as required with the argument group.equal = “loadings”.

universalism_fit_metric <- cfa(
  model = "uni =~ ipeqopt + ipudrst + impenv",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  group.equal = "loadings",
  # optional if there are missing values
  missing = "fiml.x"
)

However, Lavaan automatically assigns the labels .p[number]., although the effect is the same.

summary(
  object = universalism_fit_metric,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 38 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        27
  Number of equality constraints                     4

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                21.133      16.446
  Degrees of freedom                                 4           4
  P-value (Chi-square)                           0.000       0.002
  Scaling correction factor                                  1.285
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                           7.515       5.848
    DE                                           0.684       0.533
    GB                                          12.934      10.065

Model Test Baseline Model:

  Test statistic                              1289.722     877.559
  Degrees of freedom                                 9           9
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.470

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.987       0.986
  Tucker-Lewis Index (TLI)                       0.970       0.968
                                                                  
  Robust Comparative Fit Index (CFI)                         0.987
  Robust Tucker-Lewis Index (TLI)                            0.972

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -24260.244  -24260.244
  Scaling correction factor                                  1.144
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -24249.678  -24249.678
  Scaling correction factor                                  1.335
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               48566.488   48566.488
  Bayesian (BIC)                             48719.971   48719.971
  Sample-size adjusted Bayesian (BIC)        48646.884   48646.884

Root Mean Square Error of Approximation:

  RMSEA                                          0.047       0.040
  90 Percent confidence interval - lower         0.028       0.023
  90 Percent confidence interval - upper         0.067       0.058
  P-value RMSEA <= 0.05                          0.560       0.800
                                                                  
  Robust RMSEA                                               0.045
  90 Percent confidence interval - lower                     0.024
  90 Percent confidence interval - upper                     0.069

Standardized Root Mean Square Residual:

  SRMR                                           0.017       0.017

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt           1.000                               0.621    0.583
    ipudrst (.p2.)    1.029    0.068   15.174    0.000    0.639    0.579
    impenv  (.p3.)    0.910    0.057   16.014    0.000    0.565    0.547

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.538    0.028  159.514    0.000    4.538    4.261
   .ipudrst           4.252    0.029  145.438    0.000    4.252    3.850
   .impenv            4.688    0.028  166.708    0.000    4.688    4.536
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.748    0.053   14.147    0.000    0.748    0.660
   .ipudrst           0.811    0.050   16.107    0.000    0.811    0.665
   .impenv            0.749    0.044   16.920    0.000    0.749    0.701
    uni               0.386    0.038   10.022    0.000    1.000    1.000


Group 2 [DE]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt           1.000                               0.480    0.502
    ipudrst (.p2.)    1.029    0.068   15.174    0.000    0.494    0.560
    impenv  (.p3.)    0.910    0.057   16.014    0.000    0.437    0.460

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           5.126    0.019  276.841    0.000    5.126    5.362
   .ipudrst           4.961    0.017  291.447    0.000    4.961    5.625
   .impenv            4.996    0.018  271.054    0.000    4.996    5.254
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.683    0.039   17.416    0.000    0.683    0.748
   .ipudrst           0.534    0.031   17.394    0.000    0.534    0.686
   .impenv            0.713    0.031   23.184    0.000    0.713    0.789
    uni               0.230    0.024    9.724    0.000    1.000    1.000


Group 3 [GB]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt           1.000                               0.580    0.550
    ipudrst (.p2.)    1.029    0.068   15.174    0.000    0.597    0.574
    impenv  (.p3.)    0.910    0.057   16.014    0.000    0.528    0.480

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.994    0.025  199.417    0.000    4.994    4.731
   .ipudrst           4.716    0.025  188.538    0.000    4.716    4.527
   .impenv            4.849    0.026  188.959    0.000    4.849    4.406
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.777    0.046   16.714    0.000    0.777    0.698
   .ipudrst           0.728    0.046   16.001    0.000    0.728    0.671
   .impenv            0.932    0.042   22.197    0.000    0.932    0.769
    uni               0.337    0.036    9.238    0.000    1.000    1.000

Results:

  • The model has a good model fit and all factor loadings have sufficient loading.

Fixed factor method

Note! Only in one group does the variance of the latent factor for model identification have to be fixed at 1. In the other groups, factor variance is freely estimated.

universalism_fit_metric2 <- cfa(
    model = "
    group: [CZ]
    uni =~ NA*ipeqopt + a*ipeqopt + b*ipudrst + c*impenv
    uni ~~ 1*uni
    group: [DE]
    uni =~ NA*ipeqopt + a*ipeqopt + b*ipudrst + c*impenv
    uni ~~ NA*uni
    group: [GB]
    uni =~ NA*ipeqopt + a*ipeqopt + b*ipudrst + c*impenv
    uni ~~ NA*uni
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = universalism_fit_metric2,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 43 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        29
  Number of equality constraints                     6

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                21.133      16.446
  Degrees of freedom                                 4           4
  P-value (Chi-square)                           0.000       0.002
  Scaling correction factor                                  1.285
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                           7.515       5.848
    DE                                           0.684       0.533
    GB                                          12.934      10.065

Model Test Baseline Model:

  Test statistic                              1289.722     877.559
  Degrees of freedom                                 9           9
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.470

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.987       0.986
  Tucker-Lewis Index (TLI)                       0.970       0.968
                                                                  
  Robust Comparative Fit Index (CFI)                         0.987
  Robust Tucker-Lewis Index (TLI)                            0.972

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -24260.244  -24260.244
  Scaling correction factor                                  1.065
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -24249.678  -24249.678
  Scaling correction factor                                  1.335
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               48566.488   48566.488
  Bayesian (BIC)                             48719.971   48719.971
  Sample-size adjusted Bayesian (BIC)        48646.884   48646.884

Root Mean Square Error of Approximation:

  RMSEA                                          0.047       0.040
  90 Percent confidence interval - lower         0.028       0.023
  90 Percent confidence interval - upper         0.067       0.058
  P-value RMSEA <= 0.05                          0.560       0.800
                                                                  
  Robust RMSEA                                               0.045
  90 Percent confidence interval - lower                     0.024
  90 Percent confidence interval - upper                     0.069

Standardized Root Mean Square Residual:

  SRMR                                           0.017       0.017

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt    (a)    0.621    0.031   20.044    0.000    0.621    0.583
    ipudrst    (b)    0.639    0.031   20.732    0.000    0.639    0.579
    impenv     (c)    0.565    0.032   17.469    0.000    0.565    0.547

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.538    0.028  159.514    0.000    4.538    4.261
   .ipudrst           4.252    0.029  145.438    0.000    4.252    3.850
   .impenv            4.688    0.028  166.708    0.000    4.688    4.536
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    uni               1.000                               1.000    1.000
   .ipeqopt           0.748    0.053   14.147    0.000    0.748    0.660
   .ipudrst           0.811    0.050   16.107    0.000    0.811    0.665
   .impenv            0.749    0.044   16.920    0.000    0.749    0.701


Group 2 [DE]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt    (a)    0.621    0.031   20.044    0.000    0.480    0.502
    ipudrst    (b)    0.639    0.031   20.732    0.000    0.494    0.560
    impenv     (c)    0.565    0.032   17.469    0.000    0.437    0.460

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           5.126    0.019  276.841    0.000    5.126    5.362
   .ipudrst           4.961    0.017  291.447    0.000    4.961    5.625
   .impenv            4.996    0.018  271.054    0.000    4.996    5.254
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    uni               0.597    0.059   10.071    0.000    1.000    1.000
   .ipeqopt           0.683    0.039   17.416    0.000    0.683    0.748
   .ipudrst           0.534    0.031   17.394    0.000    0.534    0.686
   .impenv            0.713    0.031   23.184    0.000    0.713    0.789


Group 3 [GB]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt    (a)    0.621    0.031   20.044    0.000    0.580    0.550
    ipudrst    (b)    0.639    0.031   20.732    0.000    0.597    0.574
    impenv     (c)    0.565    0.032   17.469    0.000    0.528    0.480

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.994    0.025  199.417    0.000    4.994    4.731
   .ipudrst           4.716    0.025  188.538    0.000    4.716    4.527
   .impenv            4.849    0.026  188.959    0.000    4.849    4.406
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    uni               0.873    0.096    9.141    0.000    1.000    1.000
   .ipeqopt           0.777    0.046   16.714    0.000    0.777    0.698
   .ipudrst           0.728    0.046   16.001    0.000    0.728    0.671
   .impenv            0.932    0.042   22.197    0.000    0.932    0.769

Scalar model

As a final step, we want to see if there is scalar measurement invariance across groups.

For this we have to equate the intercepts in the model specification. As previously shown, Lavaan works syntactically with variable~1 in order to be able to select the intercept of the respective item. In the following we can equate the Intercepts value with a label across all groups.

Reference indicator method

universalism_fit_scalar <- cfa(
    model = "
    group: [CZ]
    uni =~ ipeqopt + a*ipudrst + b*impenv
    ipeqopt ~ c*1
    ipudrst ~ d*1
    impenv ~ e*1
    uni ~ 0*1
    
    group: [DE]
    uni =~ ipeqopt + a*ipudrst + b*impenv
    ipeqopt ~ c*1
    ipudrst ~ d*1
    impenv ~ e*1
    uni ~ NA*1
    
    group: [GB]
    uni =~ ipeqopt + a*ipudrst + b*impenv
    ipeqopt ~ c*1
    ipudrst ~ d*1
    impenv ~ e*1
    uni ~ NA*1
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)

Again, there is a function argument that allows a simple calculation of the scalar measurement invariance. If we add intercepts in the argument group.equal = c(“loadings”, “intercepts”), all intercepts are equated across the groups.

universalism_fit_scalar <- cfa(
  model = "uni =~ ipeqopt + ipudrst + impenv",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  group.equal = c("loadings", "intercepts"),
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = universalism_fit_scalar,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 46 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        29
  Number of equality constraints                    10

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                77.073      65.804
  Degrees of freedom                                 8           8
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.171
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                          51.362      43.853
    DE                                          17.278      14.752
    GB                                           8.433       7.200

Model Test Baseline Model:

  Test statistic                              1289.722     877.559
  Degrees of freedom                                 9           9
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.470

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.946       0.933
  Tucker-Lewis Index (TLI)                       0.939       0.925
                                                                  
  Robust Comparative Fit Index (CFI)                         0.947
  Robust Tucker-Lewis Index (TLI)                            0.940

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -24288.214  -24288.214
  Scaling correction factor                                  0.920
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -24249.678  -24249.678
  Scaling correction factor                                  1.335
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               48614.428   48614.428
  Bayesian (BIC)                             48741.219   48741.219
  Sample-size adjusted Bayesian (BIC)        48680.842   48680.842

Root Mean Square Error of Approximation:

  RMSEA                                          0.067       0.061
  90 Percent confidence interval - lower         0.053       0.049
  90 Percent confidence interval - upper         0.081       0.074
  P-value RMSEA <= 0.05                          0.019       0.069
                                                                  
  Robust RMSEA                                               0.066
  90 Percent confidence interval - lower                     0.052
  90 Percent confidence interval - upper                     0.081

Standardized Root Mean Square Residual:

  SRMR                                           0.032       0.032

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt           1.000                               0.609    0.571
    ipudrst (.p2.)    1.135    0.062   18.367    0.000    0.692    0.622
    impenv  (.p3.)    0.791    0.038   20.559    0.000    0.482    0.469

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt (.p8.)    4.568    0.026  174.343    0.000    4.568    4.284
   .ipudrst (.p9.)    4.295    0.029  146.756    0.000    4.295    3.860
   .impenv  (.10.)    4.581    0.023  197.095    0.000    4.581    4.461
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.766    0.050   15.239    0.000    0.766    0.674
   .ipudrst           0.760    0.050   15.312    0.000    0.760    0.614
   .impenv            0.822    0.040   20.680    0.000    0.822    0.780
    uni               0.371    0.035   10.673    0.000    1.000    1.000


Group 2 [DE]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt           1.000                               0.474    0.495
    ipudrst (.p2.)    1.135    0.062   18.367    0.000    0.538    0.607
    impenv  (.p3.)    0.791    0.038   20.559    0.000    0.375    0.397

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt (.p8.)    4.568    0.026  174.343    0.000    4.568    4.770
   .ipudrst (.p9.)    4.295    0.029  146.756    0.000    4.295    4.846
   .impenv  (.10.)    4.581    0.023  197.095    0.000    4.581    4.855
    uni               0.568    0.030   18.976    0.000    1.198    1.198

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.693    0.041   17.104    0.000    0.693    0.755
   .ipudrst           0.496    0.033   15.101    0.000    0.496    0.632
   .impenv            0.750    0.031   24.267    0.000    0.750    0.842
    uni               0.224    0.021   10.686    0.000    1.000    1.000


Group 3 [GB]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt           1.000                               0.582    0.550
    ipudrst (.p2.)    1.135    0.062   18.367    0.000    0.661    0.629
    impenv  (.p3.)    0.791    0.038   20.559    0.000    0.460    0.423

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt (.p8.)    4.568    0.026  174.343    0.000    4.568    4.315
   .ipudrst (.p9.)    4.295    0.029  146.756    0.000    4.295    4.088
   .impenv  (.10.)    4.581    0.023  197.095    0.000    4.581    4.209
    uni               0.384    0.031   12.280    0.000    0.659    0.659

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.782    0.044   17.679    0.000    0.782    0.698
   .ipudrst           0.667    0.045   14.793    0.000    0.667    0.604
   .impenv            0.973    0.041   23.638    0.000    0.973    0.821
    uni               0.339    0.032   10.471    0.000    1.000    1.000

Results:

  • The latent means have been estimated in group 2 and 3 and fixed in group 1
  • Acceptable model fit

Fixed factor method

Note! Only in one group does the variance and the intercept of the latent factor for model identification have to be fixed at 1 and 0, respectively. In the other groups, factor variance and intercept is freely estimated.

universalism_fit_scalar2 <- cfa(
    model = "
    group: [CZ]
    uni =~ NA*ipeqopt + a*ipeqopt + b*ipudrst + c*impenv
    ipeqopt ~ d*1
    ipudrst ~ e*1
    impenv ~ f*1
    uni ~ 0*1
    uni ~~ 1*uni
    
    group: [DE]
    uni =~ NA*ipeqopt + a*ipeqopt + b*ipudrst + c*impenv
    ipeqopt ~ d*1
    ipudrst ~ e*1
    impenv ~ f*1
    uni ~ NA*1
    uni ~~ NA*uni
    
    group: [GB]
    uni =~ NA*ipeqopt + a*ipeqopt + b*ipudrst + c*impenv
    ipeqopt ~ d*1
    ipudrst ~ e*1
    impenv ~ f*1
    uni ~ NA*1
    uni ~~ NA*uni
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = universalism_fit_scalar2,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 48 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        31
  Number of equality constraints                    12

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                77.073      65.804
  Degrees of freedom                                 8           8
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.171
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                          51.362      43.852
    DE                                          17.278      14.752
    GB                                           8.433       7.200

Model Test Baseline Model:

  Test statistic                              1289.722     877.559
  Degrees of freedom                                 9           9
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.470

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.946       0.933
  Tucker-Lewis Index (TLI)                       0.939       0.925
                                                                  
  Robust Comparative Fit Index (CFI)                         0.947
  Robust Tucker-Lewis Index (TLI)                            0.940

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -24288.214  -24288.214
  Scaling correction factor                                  0.860
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -24249.678  -24249.678
  Scaling correction factor                                  1.335
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               48614.428   48614.428
  Bayesian (BIC)                             48741.219   48741.219
  Sample-size adjusted Bayesian (BIC)        48680.842   48680.842

Root Mean Square Error of Approximation:

  RMSEA                                          0.067       0.061
  90 Percent confidence interval - lower         0.053       0.049
  90 Percent confidence interval - upper         0.081       0.074
  P-value RMSEA <= 0.05                          0.019       0.069
                                                                  
  Robust RMSEA                                               0.066
  90 Percent confidence interval - lower                     0.052
  90 Percent confidence interval - upper                     0.081

Standardized Root Mean Square Residual:

  SRMR                                           0.032       0.032

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt    (a)    0.609    0.029   21.345    0.000    0.609    0.571
    ipudrst    (b)    0.692    0.029   23.535    0.000    0.692    0.622
    impenv     (c)    0.482    0.027   17.840    0.000    0.482    0.469

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt    (d)    4.568    0.026  174.343    0.000    4.568    4.284
   .ipudrst    (e)    4.295    0.029  146.756    0.000    4.295    3.860
   .impenv     (f)    4.581    0.023  197.095    0.000    4.581    4.461
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    uni               1.000                               1.000    1.000
   .ipeqopt           0.766    0.050   15.239    0.000    0.766    0.674
   .ipudrst           0.760    0.050   15.312    0.000    0.760    0.614
   .impenv            0.822    0.040   20.680    0.000    0.822    0.780


Group 2 [DE]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt    (a)    0.609    0.029   21.345    0.000    0.474    0.495
    ipudrst    (b)    0.692    0.029   23.535    0.000    0.538    0.607
    impenv     (c)    0.482    0.027   17.840    0.000    0.375    0.397

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt    (d)    4.568    0.026  174.343    0.000    4.568    4.770
   .ipudrst    (e)    4.295    0.029  146.756    0.000    4.295    4.846
   .impenv     (f)    4.581    0.023  197.095    0.000    4.581    4.855
    uni               0.932    0.050   18.530    0.000    1.198    1.198

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    uni               0.605    0.060   10.007    0.000    1.000    1.000
   .ipeqopt           0.693    0.041   17.104    0.000    0.693    0.755
   .ipudrst           0.496    0.033   15.101    0.000    0.496    0.632
   .impenv            0.750    0.031   24.267    0.000    0.750    0.842


Group 3 [GB]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt    (a)    0.609    0.029   21.345    0.000    0.582    0.550
    ipudrst    (b)    0.692    0.029   23.535    0.000    0.661    0.629
    impenv     (c)    0.482    0.027   17.840    0.000    0.460    0.423

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt    (d)    4.568    0.026  174.343    0.000    4.568    4.315
   .ipudrst    (e)    4.295    0.029  146.756    0.000    4.295    4.088
   .impenv     (f)    4.581    0.023  197.095    0.000    4.581    4.209
    uni               0.630    0.050   12.658    0.000    0.659    0.659

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    uni               0.913    0.098    9.307    0.000    1.000    1.000
   .ipeqopt           0.782    0.044   17.679    0.000    0.782    0.698
   .ipudrst           0.667    0.045   14.793    0.000    0.667    0.604
   .impenv            0.973    0.041   23.638    0.000    0.973    0.821

Comparing fit statistics

Finally, we want to check whether the respective models with tightened measurement invariance do not show any significant deterioration in the data fitting and thus do not falsify the assumption of the corresponding measurement invariances.

compFit.universalism <- compareFit(
  scalar = universalism_fit_scalar,
  metric = universalism_fit_metric,
  config = universalism_fit_config,
  argsLRT = list(method = "satorra.bentler.2001")
)
summary(
  object = compFit.universalism, 
  fit.measures = c("chisq.scaled", "df.scaled", "pvalue.scaled", 
                   "rmsea.scaled", "cfi.scaled", "tli.scaled",
                   "srmr", "aic", "bic")
  ) 
################### Nested Model Comparison #########################
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")

lavaan NOTE:
    The "Chisq" column contains standard test statistics, not the
    robust test that should be reported per model. A robust difference
    test is a function of two standard (not robust) statistics.
 
       Df   AIC   BIC  Chisq Chisq diff Df diff Pr(>Chisq)    
config  0 48553 48734  0.000                                  
metric  4 48566 48720 21.133     16.446       4   0.002475 ** 
scalar  8 48614 48741 77.073     52.897       4  8.954e-11 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

####################### Model Fit Indices ###########################
       chisq.scaled df.scaled pvalue.scaled rmsea.scaled cfi.scaled tli.scaled
config        .000†                      NA        .000†     1.000†     1.000†
metric      16.446          4          .002        .040       .986       .968 
scalar      65.804          8          .000        .061       .933       .925 
        srmr        aic        bic
config .000† 48553.355† 48733.531 
metric .017  48566.488  48719.971†
scalar .032  48614.428  48741.219 

################## Differences in Fit Indices #######################
                df.scaled rmsea.scaled cfi.scaled tli.scaled  srmr    aic
metric - config         4        0.040     -0.014     -0.032 0.017 13.133
scalar - metric         4        0.021     -0.052     -0.043 0.015 47.940
                    bic
metric - config -13.559
scalar - metric  21.247

Results:

  • \(\chi^2\) differences are significant = The different levels of measurement invariance deviate significantly from each other and show a poorer fit to the data
  • Alternative fit indices also show that there is no metric or scalar measurement invariance

Fixed factor method

compFit.universalism2 <- compareFit(
  scalar = universalism_fit_scalar2,
  metric = universalism_fit_metric2,
  config = universalism_fit_config2,
  argsLRT = list(method = "satorra.bentler.2001")
)
summary(
  object = compFit.universalism2, 
  fit.measures = c("chisq.scaled", "df.scaled", "pvalue.scaled", 
                   "rmsea.scaled", "cfi.scaled", "tli.scaled",
                   "srmr", "aic", "bic")
  ) 
################### Nested Model Comparison #########################
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")

lavaan NOTE:
    The "Chisq" column contains standard test statistics, not the
    robust test that should be reported per model. A robust difference
    test is a function of two standard (not robust) statistics.
 
       Df   AIC   BIC  Chisq Chisq diff Df diff Pr(>Chisq)    
config  0 48553 48734  0.000                                  
metric  4 48566 48720 21.133     16.446       4   0.002475 ** 
scalar  8 48614 48741 77.073     52.897       4  8.954e-11 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

####################### Model Fit Indices ###########################
       chisq.scaled df.scaled pvalue.scaled rmsea.scaled cfi.scaled tli.scaled
config        .000†                      NA        .000†     1.000†     1.000†
metric      16.446          4          .002        .040       .986       .968 
scalar      65.804          8          .000        .061       .933       .925 
        srmr        aic        bic
config .000† 48553.355† 48733.531 
metric .017  48566.488  48719.971†
scalar .032  48614.428  48741.219 

################## Differences in Fit Indices #######################
                df.scaled rmsea.scaled cfi.scaled tli.scaled  srmr    aic
metric - config         4        0.040     -0.014     -0.032 0.017 13.133
scalar - metric         4        0.021     -0.052     -0.043 0.015 47.940
                    bic
metric - config -13.559
scalar - metric  21.247

MI - Tradition/Conformity

Measurement for each group

Reference indicator method

tradition_conformity_fit_countries <- ESS07_countries %>% 
  map(~ cfa(
    model = "TraditionConformity =~ imptrad + ipfrule + ipbhprp", 
    data = .,
    estimator = "MLR",
    # optional if there are missing values
    missing = "fiml.x"
    ))
tradition_conformity_fit_countries %>% 
  map(~ summary(
    object = .,
    fit.measures = T,
    standardized = T
    # rsquare = T
  ))
$CZ
lavaan 0.6-12 ended normally after 25 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                         9

  Number of observations                          1393
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 0.000       0.000
  Degrees of freedom                                 0           0

Model Test Baseline Model:

  Test statistic                               427.429     278.850
  Degrees of freedom                                 3           3
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.533

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000       1.000
  Tucker-Lewis Index (TLI)                       1.000       1.000
                                                                  
  Robust Comparative Fit Index (CFI)                            NA
  Robust Tucker-Lewis Index (TLI)                               NA

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)              -6433.005   -6433.005
  Loglikelihood unrestricted model (H1)      -6433.005   -6433.005
                                                                  
  Akaike (AIC)                               12884.010   12884.010
  Bayesian (BIC)                             12931.163   12931.163
  Sample-size adjusted Bayesian (BIC)        12902.573   12902.573

Root Mean Square Error of Approximation:

  RMSEA                                          0.000       0.000
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.000       0.000
  P-value RMSEA <= 0.05                             NA          NA
                                                                  
  Robust RMSEA                                               0.000
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.000       0.000

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.629    0.493
    ipfrule                 1.011    0.110    9.210    0.000    0.636    0.570
    ipbhprp                 1.253    0.139    8.991    0.000    0.789    0.673

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.416    0.034  129.035    0.000    4.416    3.457
   .ipfrule           4.311    0.030  144.025    0.000    4.311    3.859
   .ipbhprp           4.477    0.031  142.505    0.000    4.477    3.818
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           1.235    0.074   16.692    0.000    1.235    0.757
   .ipfrule           0.843    0.059   14.169    0.000    0.843    0.675
   .ipbhprp           0.753    0.079    9.542    0.000    0.753    0.548
    TraditnCnfrmty    0.396    0.061    6.471    0.000    1.000    1.000


$DE
lavaan 0.6-12 ended normally after 29 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                         9

  Number of observations                          2671
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 0.000       0.000
  Degrees of freedom                                 0           0

Model Test Baseline Model:

  Test statistic                               743.574     618.238
  Degrees of freedom                                 3           3
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.203

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000       1.000
  Tucker-Lewis Index (TLI)                       1.000       1.000
                                                                  
  Robust Comparative Fit Index (CFI)                            NA
  Robust Tucker-Lewis Index (TLI)                               NA

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -13453.225  -13453.225
  Loglikelihood unrestricted model (H1)     -13453.225  -13453.225
                                                                  
  Akaike (AIC)                               26924.451   26924.451
  Bayesian (BIC)                             26977.462   26977.462
  Sample-size adjusted Bayesian (BIC)        26948.867   26948.867

Root Mean Square Error of Approximation:

  RMSEA                                          0.000       0.000
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.000       0.000
  P-value RMSEA <= 0.05                             NA          NA
                                                                  
  Robust RMSEA                                               0.000
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.000       0.000

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.624    0.455
    ipfrule                 1.310    0.097   13.549    0.000    0.817    0.584
    ipbhprp                 1.363    0.108   12.614    0.000    0.850    0.652

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.028    0.027  151.748    0.000    4.028    2.936
   .ipfrule           3.433    0.027  126.693    0.000    3.433    2.451
   .ipbhprp           4.072    0.025  161.233    0.000    4.072    3.120
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           1.493    0.054   27.834    0.000    1.493    0.793
   .ipfrule           1.293    0.062   20.968    0.000    1.293    0.659
   .ipbhprp           0.980    0.064   15.297    0.000    0.980    0.575
    TraditnCnfrmty    0.389    0.045    8.618    0.000    1.000    1.000


$GB
lavaan 0.6-12 ended normally after 28 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                         9

  Number of observations                          1780
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 0.000       0.000
  Degrees of freedom                                 0           0

Model Test Baseline Model:

  Test statistic                               550.406     433.960
  Degrees of freedom                                 3           3
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.268

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000       1.000
  Tucker-Lewis Index (TLI)                       1.000       1.000
                                                                  
  Robust Comparative Fit Index (CFI)                         1.000
  Robust Tucker-Lewis Index (TLI)                            1.000

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)              -9035.986   -9035.986
  Loglikelihood unrestricted model (H1)      -9035.986   -9035.986
                                                                  
  Akaike (AIC)                               18089.972   18089.972
  Bayesian (BIC)                             18139.332   18139.332
  Sample-size adjusted Bayesian (BIC)        18110.739   18110.739

Root Mean Square Error of Approximation:

  RMSEA                                          0.000       0.000
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.000       0.000
  P-value RMSEA <= 0.05                             NA          NA
                                                                  
  Robust RMSEA                                               0.000
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.000       0.000

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.708    0.492
    ipfrule                 1.194    0.101   11.855    0.000    0.845    0.591
    ipbhprp                 1.192    0.103   11.566    0.000    0.844    0.656

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.142    0.034  121.354    0.000    4.142    2.876
   .ipfrule           3.624    0.034  106.911    0.000    3.624    2.534
   .ipbhprp           4.365    0.030  143.127    0.000    4.365    3.392
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           1.572    0.067   23.591    0.000    1.572    0.758
   .ipfrule           1.331    0.082   16.216    0.000    1.331    0.651
   .ipbhprp           0.943    0.075   12.574    0.000    0.943    0.570
    TraditnCnfrmty    0.501    0.063    7.975    0.000    1.000    1.000

Fixed factor method

tradition_conformity_fit_countries2 <- ESS07_countries %>% 
  map(~ cfa(
    model = "
      TraditionConformity =~ NA*imptrad + ipfrule + ipbhprp
      TraditionConformity ~~ 1*TraditionConformity
    ", 
    data = .,
    estimator = "MLR",
    # optional if there are missing values
    missing = "fiml.x"
    ))
tradition_conformity_fit_countries2 %>% 
  map(~ summary(
    object = .,
    fit.measures = T,
    standardized = T
    # rsquare = T
  ))
$CZ
lavaan 0.6-12 ended normally after 17 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                         9

  Number of observations                          1393
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 0.000       0.000
  Degrees of freedom                                 0           0

Model Test Baseline Model:

  Test statistic                               427.429     278.850
  Degrees of freedom                                 3           3
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.533

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000       1.000
  Tucker-Lewis Index (TLI)                       1.000       1.000
                                                                  
  Robust Comparative Fit Index (CFI)                            NA
  Robust Tucker-Lewis Index (TLI)                               NA

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)              -6433.005   -6433.005
  Loglikelihood unrestricted model (H1)      -6433.005   -6433.005
                                                                  
  Akaike (AIC)                               12884.010   12884.010
  Bayesian (BIC)                             12931.163   12931.163
  Sample-size adjusted Bayesian (BIC)        12902.573   12902.573

Root Mean Square Error of Approximation:

  RMSEA                                          0.000       0.000
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.000       0.000
  P-value RMSEA <= 0.05                             NA          NA
                                                                  
  Robust RMSEA                                               0.000
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.000       0.000

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 0.629    0.049   12.941    0.000    0.629    0.493
    ipfrule                 0.636    0.047   13.681    0.000    0.636    0.570
    ipbhprp                 0.789    0.052   15.180    0.000    0.789    0.673

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.416    0.034  129.035    0.000    4.416    3.457
   .ipfrule           4.311    0.030  144.025    0.000    4.311    3.859
   .ipbhprp           4.477    0.031  142.505    0.000    4.477    3.818
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    TraditnCnfrmty    1.000                               1.000    1.000
   .imptrad           1.235    0.074   16.692    0.000    1.235    0.757
   .ipfrule           0.843    0.059   14.169    0.000    0.843    0.675
   .ipbhprp           0.753    0.079    9.542    0.000    0.753    0.548


$DE
lavaan 0.6-12 ended normally after 21 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                         9

  Number of observations                          2671
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 0.000       0.000
  Degrees of freedom                                 0           0

Model Test Baseline Model:

  Test statistic                               743.574     618.238
  Degrees of freedom                                 3           3
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.203

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000       1.000
  Tucker-Lewis Index (TLI)                       1.000       1.000
                                                                  
  Robust Comparative Fit Index (CFI)                            NA
  Robust Tucker-Lewis Index (TLI)                               NA

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -13453.225  -13453.225
  Loglikelihood unrestricted model (H1)     -13453.225  -13453.225
                                                                  
  Akaike (AIC)                               26924.451   26924.451
  Bayesian (BIC)                             26977.462   26977.462
  Sample-size adjusted Bayesian (BIC)        26948.867   26948.867

Root Mean Square Error of Approximation:

  RMSEA                                          0.000       0.000
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.000       0.000
  P-value RMSEA <= 0.05                             NA          NA
                                                                  
  Robust RMSEA                                               0.000
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.000       0.000

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 0.624    0.036   17.236    0.000    0.624    0.455
    ipfrule                 0.817    0.039   21.109    0.000    0.817    0.584
    ipbhprp                 0.850    0.039   21.805    0.000    0.850    0.652

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.028    0.027  151.748    0.000    4.028    2.936
   .ipfrule           3.433    0.027  126.693    0.000    3.433    2.451
   .ipbhprp           4.072    0.025  161.233    0.000    4.072    3.120
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    TraditnCnfrmty    1.000                               1.000    1.000
   .imptrad           1.493    0.054   27.834    0.000    1.493    0.793
   .ipfrule           1.293    0.062   20.968    0.000    1.293    0.659
   .ipbhprp           0.980    0.064   15.297    0.000    0.980    0.575


$GB
lavaan 0.6-12 ended normally after 21 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                         9

  Number of observations                          1780
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 0.000       0.000
  Degrees of freedom                                 0           0

Model Test Baseline Model:

  Test statistic                               550.406     433.960
  Degrees of freedom                                 3           3
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.268

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000       1.000
  Tucker-Lewis Index (TLI)                       1.000       1.000
                                                                  
  Robust Comparative Fit Index (CFI)                         1.000
  Robust Tucker-Lewis Index (TLI)                            1.000

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)              -9035.986   -9035.986
  Loglikelihood unrestricted model (H1)      -9035.986   -9035.986
                                                                  
  Akaike (AIC)                               18089.972   18089.972
  Bayesian (BIC)                             18139.332   18139.332
  Sample-size adjusted Bayesian (BIC)        18110.739   18110.739

Root Mean Square Error of Approximation:

  RMSEA                                          0.000       0.000
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.000       0.000
  P-value RMSEA <= 0.05                             NA          NA
                                                                  
  Robust RMSEA                                               0.000
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.000       0.000

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 0.708    0.044   15.949    0.000    0.708    0.492
    ipfrule                 0.845    0.049   17.416    0.000    0.845    0.591
    ipbhprp                 0.844    0.046   18.324    0.000    0.844    0.656

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.142    0.034  121.354    0.000    4.142    2.876
   .ipfrule           3.624    0.034  106.911    0.000    3.624    2.534
   .ipbhprp           4.365    0.030  143.127    0.000    4.365    3.392
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    TraditnCnfrmty    1.000                               1.000    1.000
   .imptrad           1.572    0.067   23.591    0.000    1.572    0.758
   .ipfrule           1.331    0.082   16.216    0.000    1.331    0.651
   .ipbhprp           0.943    0.075   12.574    0.000    0.943    0.570

Configural model

Reference indicator method

tradition_conformity_fit_config <- cfa(
  model = "TraditionConformity =~ imptrad + ipfrule + ipbhprp",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = tradition_conformity_fit_config,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 83 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        27

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 0.000       0.000
  Degrees of freedom                                 0           0
  Test statistic for each group:
    CZ                                           0.000       0.000
    DE                                           0.000       0.000
    GB                                           0.000       0.000

Model Test Baseline Model:

  Test statistic                              1721.409    1289.802
  Degrees of freedom                                 9           9
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.335

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000       1.000
  Tucker-Lewis Index (TLI)                       1.000       1.000
                                                                  
  Robust Comparative Fit Index (CFI)                            NA
  Robust Tucker-Lewis Index (TLI)                               NA

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -28922.216  -28922.216
  Loglikelihood unrestricted model (H1)     -28922.216  -28922.216
                                                                  
  Akaike (AIC)                               57898.433   57898.433
  Bayesian (BIC)                             58078.609   58078.609
  Sample-size adjusted Bayesian (BIC)        57992.810   57992.810

Root Mean Square Error of Approximation:

  RMSEA                                          0.000       0.000
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.000       0.000
  P-value RMSEA <= 0.05                             NA          NA
                                                                  
  Robust RMSEA                                               0.000
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.000       0.000

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.629    0.493
    ipfrule                 1.011    0.110    9.210    0.000    0.636    0.570
    ipbhprp                 1.253    0.139    8.991    0.000    0.789    0.673

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.416    0.034  129.035    0.000    4.416    3.457
   .ipfrule           4.311    0.030  144.025    0.000    4.311    3.859
   .ipbhprp           4.477    0.031  142.505    0.000    4.477    3.818
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           1.235    0.074   16.692    0.000    1.235    0.757
   .ipfrule           0.843    0.059   14.169    0.000    0.843    0.675
   .ipbhprp           0.753    0.079    9.542    0.000    0.753    0.548
    TraditnCnfrmty    0.396    0.061    6.471    0.000    1.000    1.000


Group 2 [DE]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.624    0.455
    ipfrule                 1.310    0.097   13.549    0.000    0.817    0.584
    ipbhprp                 1.363    0.108   12.614    0.000    0.850    0.652

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.028    0.027  151.748    0.000    4.028    2.936
   .ipfrule           3.433    0.027  126.693    0.000    3.433    2.451
   .ipbhprp           4.072    0.025  161.233    0.000    4.072    3.120
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           1.493    0.054   27.834    0.000    1.493    0.793
   .ipfrule           1.293    0.062   20.968    0.000    1.293    0.659
   .ipbhprp           0.980    0.064   15.297    0.000    0.980    0.575
    TraditnCnfrmty    0.389    0.045    8.618    0.000    1.000    1.000


Group 3 [GB]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.708    0.492
    ipfrule                 1.194    0.101   11.855    0.000    0.845    0.591
    ipbhprp                 1.192    0.103   11.566    0.000    0.844    0.656

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.142    0.034  121.354    0.000    4.142    2.876
   .ipfrule           3.624    0.034  106.911    0.000    3.624    2.534
   .ipbhprp           4.365    0.030  143.127    0.000    4.365    3.392
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           1.572    0.067   23.591    0.000    1.572    0.758
   .ipfrule           1.331    0.082   16.216    0.000    1.331    0.651
   .ipbhprp           0.943    0.075   12.574    0.000    0.943    0.570
    TraditnCnfrmty    0.501    0.063    7.975    0.000    1.000    1.000

Fixed factor method

tradition_conformity_fit_config2 <- cfa(
  model = "
    group: [CZ]
    TraditionConformity =~ NA*imptrad + ipfrule + ipbhprp
    TraditionConformity ~~ 1*TraditionConformity
    
    group: [DE]
    TraditionConformity =~ NA*imptrad + ipfrule + ipbhprp
    TraditionConformity ~~ 1*TraditionConformity
    
    group: [GB]
    TraditionConformity =~ NA*imptrad + ipfrule + ipbhprp
    TraditionConformity ~~ 1*TraditionConformity
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = tradition_conformity_fit_config2,
  fit.measures = T,
  standardized = T
)
lavaan 0.6-12 ended normally after 73 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        27

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 0.000       0.000
  Degrees of freedom                                 0           0
  Test statistic for each group:
    CZ                                           0.000       0.000
    DE                                           0.000       0.000
    GB                                           0.000       0.000

Model Test Baseline Model:

  Test statistic                              1721.409    1289.802
  Degrees of freedom                                 9           9
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.335

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    1.000       1.000
  Tucker-Lewis Index (TLI)                       1.000       1.000
                                                                  
  Robust Comparative Fit Index (CFI)                            NA
  Robust Tucker-Lewis Index (TLI)                               NA

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -28922.216  -28922.216
  Loglikelihood unrestricted model (H1)     -28922.216  -28922.216
                                                                  
  Akaike (AIC)                               57898.433   57898.433
  Bayesian (BIC)                             58078.609   58078.609
  Sample-size adjusted Bayesian (BIC)        57992.810   57992.810

Root Mean Square Error of Approximation:

  RMSEA                                          0.000       0.000
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.000       0.000
  P-value RMSEA <= 0.05                             NA          NA
                                                                  
  Robust RMSEA                                               0.000
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.000       0.000

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 0.629    0.049   12.941    0.000    0.629    0.493
    ipfrule                 0.636    0.047   13.681    0.000    0.636    0.570
    ipbhprp                 0.789    0.052   15.180    0.000    0.789    0.673

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.416    0.034  129.035    0.000    4.416    3.457
   .ipfrule           4.311    0.030  144.025    0.000    4.311    3.859
   .ipbhprp           4.477    0.031  142.505    0.000    4.477    3.818
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    TraditnCnfrmty    1.000                               1.000    1.000
   .imptrad           1.235    0.074   16.692    0.000    1.235    0.757
   .ipfrule           0.843    0.059   14.169    0.000    0.843    0.675
   .ipbhprp           0.753    0.079    9.542    0.000    0.753    0.548


Group 2 [DE]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 0.624    0.036   17.236    0.000    0.624    0.455
    ipfrule                 0.817    0.039   21.109    0.000    0.817    0.584
    ipbhprp                 0.850    0.039   21.805    0.000    0.850    0.652

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.028    0.027  151.748    0.000    4.028    2.936
   .ipfrule           3.433    0.027  126.693    0.000    3.433    2.451
   .ipbhprp           4.072    0.025  161.233    0.000    4.072    3.120
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    TraditnCnfrmty    1.000                               1.000    1.000
   .imptrad           1.493    0.054   27.834    0.000    1.493    0.793
   .ipfrule           1.293    0.062   20.968    0.000    1.293    0.659
   .ipbhprp           0.980    0.064   15.297    0.000    0.980    0.575


Group 3 [GB]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 0.708    0.044   15.949    0.000    0.708    0.492
    ipfrule                 0.845    0.049   17.416    0.000    0.845    0.591
    ipbhprp                 0.844    0.046   18.324    0.000    0.844    0.656

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.142    0.034  121.354    0.000    4.142    2.876
   .ipfrule           3.624    0.034  106.911    0.000    3.624    2.534
   .ipbhprp           4.365    0.030  143.127    0.000    4.365    3.392
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    TraditnCnfrmty    1.000                               1.000    1.000
   .imptrad           1.572    0.067   23.591    0.000    1.572    0.758
   .ipfrule           1.331    0.082   16.216    0.000    1.331    0.651
   .ipbhprp           0.943    0.075   12.574    0.000    0.943    0.570

Metric model

Reference indicator method

tradition_conformity_fit_metric <- cfa(
  model = "TraditionConformity =~ imptrad + ipfrule + ipbhprp",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  group.equal = "loadings",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = tradition_conformity_fit_metric,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 54 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        27
  Number of equality constraints                     4

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 6.366       5.479
  Degrees of freedom                                 4           4
  P-value (Chi-square)                           0.173       0.242
  Scaling correction factor                                  1.162
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                           3.702       3.187
    DE                                           1.782       1.534
    GB                                           0.882       0.759

Model Test Baseline Model:

  Test statistic                              1721.409    1289.802
  Degrees of freedom                                 9           9
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.335

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.999       0.999
  Tucker-Lewis Index (TLI)                       0.997       0.997
                                                                  
  Robust Comparative Fit Index (CFI)                         0.999
  Robust Tucker-Lewis Index (TLI)                            0.998

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -28925.400  -28925.400
  Scaling correction factor                                  0.855
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -28922.216  -28922.216
  Scaling correction factor                                  1.027
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               57896.799   57896.799
  Bayesian (BIC)                             58050.282   58050.282
  Sample-size adjusted Bayesian (BIC)        57977.195   57977.195

Root Mean Square Error of Approximation:

  RMSEA                                          0.017       0.014
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.042       0.037
  P-value RMSEA <= 0.05                          0.990       0.997
                                                                  
  Robust RMSEA                                               0.015
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.042

Standardized Root Mean Square Residual:

  SRMR                                           0.010       0.010

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.585    0.462
    ipfrule (.p2.)          1.195    0.060   19.884    0.000    0.699    0.620
    ipbhprp (.p3.)          1.282    0.067   19.101    0.000    0.750    0.641

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.416    0.034  129.035    0.000    4.416    3.486
   .ipfrule           4.311    0.030  144.025    0.000    4.311    3.820
   .ipbhprp           4.477    0.031  142.505    0.000    4.477    3.831
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           1.263    0.062   20.376    0.000    1.263    0.787
   .ipfrule           0.785    0.050   15.612    0.000    0.785    0.616
   .ipbhprp           0.804    0.059   13.550    0.000    0.804    0.589
    TraditnCnfrmty    0.342    0.034   10.129    0.000    1.000    1.000


Group 2 [DE]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.661    0.479
    ipfrule (.p2.)          1.195    0.060   19.884    0.000    0.790    0.567
    ipbhprp (.p3.)          1.282    0.067   19.101    0.000    0.847    0.650

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.028    0.027  151.748    0.000    4.028    2.918
   .ipfrule           3.433    0.027  126.693    0.000    3.433    2.462
   .ipbhprp           4.072    0.025  161.233    0.000    4.072    3.123
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           1.468    0.049   29.990    0.000    1.468    0.771
   .ipfrule           1.320    0.049   26.752    0.000    1.320    0.679
   .ipbhprp           0.982    0.051   19.178    0.000    0.982    0.578
    TraditnCnfrmty    0.437    0.035   12.540    0.000    1.000    1.000


Group 3 [GB]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.686    0.477
    ipfrule (.p2.)          1.195    0.060   19.884    0.000    0.819    0.574
    ipbhprp (.p3.)          1.282    0.067   19.101    0.000    0.879    0.680

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.142    0.034  121.354    0.000    4.142    2.884
   .ipfrule           3.624    0.034  106.911    0.000    3.624    2.539
   .ipbhprp           4.365    0.030  143.127    0.000    4.365    3.380
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           1.592    0.057   27.865    0.000    1.592    0.772
   .ipfrule           1.365    0.062   22.130    0.000    1.365    0.670
   .ipbhprp           0.895    0.059   15.123    0.000    0.895    0.537
    TraditnCnfrmty    0.470    0.043   11.058    0.000    1.000    1.000

Fixed factor method

Note! Only in one group does the variance of the latent factor for model identification have to be fixed at 1. In the other groups, factor variance is freely estimated.

tradition_conformity_fit_metric2 <- cfa(
   model = "
    group: [CZ]
    TraditionConformity =~ NA*imptrad + a*imptrad + b*ipfrule + c*ipbhprp
    TraditionConformity ~~ 1*TraditionConformity
    
    group: [DE]
    TraditionConformity =~ NA*imptrad + a*imptrad + b*ipfrule + c*ipbhprp
    TraditionConformity ~~ NA*TraditionConformity
    
    group: [GB]
    TraditionConformity =~ NA*imptrad + a*imptrad + b*ipfrule + c*ipbhprp
    TraditionConformity ~~ NA*TraditionConformity
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = tradition_conformity_fit_metric2,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 57 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        29
  Number of equality constraints                     6

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 6.366       5.479
  Degrees of freedom                                 4           4
  P-value (Chi-square)                           0.173       0.242
  Scaling correction factor                                  1.162
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                           3.702       3.187
    DE                                           1.782       1.534
    GB                                           0.882       0.759

Model Test Baseline Model:

  Test statistic                              1721.409    1289.802
  Degrees of freedom                                 9           9
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.335

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.999       0.999
  Tucker-Lewis Index (TLI)                       0.997       0.997
                                                                  
  Robust Comparative Fit Index (CFI)                         0.999
  Robust Tucker-Lewis Index (TLI)                            0.998

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -28925.400  -28925.400
  Scaling correction factor                                  0.796
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -28922.216  -28922.216
  Scaling correction factor                                  1.027
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               57896.799   57896.799
  Bayesian (BIC)                             58050.282   58050.282
  Sample-size adjusted Bayesian (BIC)        57977.195   57977.195

Root Mean Square Error of Approximation:

  RMSEA                                          0.017       0.014
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.042       0.037
  P-value RMSEA <= 0.05                          0.990       0.997
                                                                  
  Robust RMSEA                                               0.015
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.042

Standardized Root Mean Square Residual:

  SRMR                                           0.010       0.010

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad    (a)          0.585    0.029   20.258    0.000    0.585    0.462
    ipfrule    (b)          0.699    0.030   23.557    0.000    0.699    0.620
    ipbhprp    (c)          0.750    0.035   21.611    0.000    0.750    0.641

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.416    0.034  129.035    0.000    4.416    3.486
   .ipfrule           4.311    0.030  144.025    0.000    4.311    3.820
   .ipbhprp           4.477    0.031  142.505    0.000    4.477    3.831
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    TraditnCnfrmty    1.000                               1.000    1.000
   .imptrad           1.263    0.062   20.376    0.000    1.263    0.787
   .ipfrule           0.785    0.050   15.612    0.000    0.785    0.616
   .ipbhprp           0.804    0.059   13.550    0.000    0.804    0.589


Group 2 [DE]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad    (a)          0.585    0.029   20.258    0.000    0.661    0.479
    ipfrule    (b)          0.699    0.030   23.557    0.000    0.790    0.567
    ipbhprp    (c)          0.750    0.035   21.611    0.000    0.847    0.650

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.028    0.027  151.748    0.000    4.028    2.918
   .ipfrule           3.433    0.027  126.693    0.000    3.433    2.462
   .ipbhprp           4.072    0.025  161.233    0.000    4.072    3.123
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    TraditnCnfrmty    1.277    0.107   11.930    0.000    1.000    1.000
   .imptrad           1.468    0.049   29.990    0.000    1.468    0.771
   .ipfrule           1.320    0.049   26.752    0.000    1.320    0.679
   .ipbhprp           0.982    0.051   19.178    0.000    0.982    0.578


Group 3 [GB]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad    (a)          0.585    0.029   20.258    0.000    0.686    0.477
    ipfrule    (b)          0.699    0.030   23.557    0.000    0.819    0.574
    ipbhprp    (c)          0.750    0.035   21.611    0.000    0.879    0.680

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           4.142    0.034  121.354    0.000    4.142    2.884
   .ipfrule           3.624    0.034  106.911    0.000    3.624    2.539
   .ipbhprp           4.365    0.030  143.127    0.000    4.365    3.380
    TraditnCnfrmty    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    TraditnCnfrmty    1.374    0.122   11.248    0.000    1.000    1.000
   .imptrad           1.592    0.057   27.865    0.000    1.592    0.772
   .ipfrule           1.365    0.062   22.130    0.000    1.365    0.670
   .ipbhprp           0.895    0.059   15.123    0.000    0.895    0.537

Scalar invariance

Reference indicator method

tradition_conformity_fit_scalar <- cfa(
  model = "TraditionConformity =~ imptrad + ipfrule + ipbhprp",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  group.equal = c("loadings", "intercepts"),
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = tradition_conformity_fit_scalar,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 59 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        29
  Number of equality constraints                    10

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               151.984     143.262
  Degrees of freedom                                 8           8
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.061
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                          88.375      83.303
    DE                                          19.731      18.599
    GB                                          43.878      41.360

Model Test Baseline Model:

  Test statistic                              1721.409    1289.802
  Degrees of freedom                                 9           9
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.335

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.916       0.894
  Tucker-Lewis Index (TLI)                       0.905       0.881
                                                                  
  Robust Comparative Fit Index (CFI)                         0.916
  Robust Tucker-Lewis Index (TLI)                            0.906

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -28998.209  -28998.209
  Scaling correction factor                                  0.663
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -28922.216  -28922.216
  Scaling correction factor                                  1.027
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               58034.417   58034.417
  Bayesian (BIC)                             58161.207   58161.207
  Sample-size adjusted Bayesian (BIC)        58100.831   58100.831

Root Mean Square Error of Approximation:

  RMSEA                                          0.096       0.093
  90 Percent confidence interval - lower         0.083       0.081
  90 Percent confidence interval - upper         0.110       0.106
  P-value RMSEA <= 0.05                          0.000       0.000
                                                                  
  Robust RMSEA                                               0.096
  90 Percent confidence interval - lower                     0.083
  90 Percent confidence interval - upper                     0.110

Standardized Root Mean Square Residual:

  SRMR                                           0.042       0.042

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.534    0.423
    ipfrule (.p2.)          1.484    0.088   16.897    0.000    0.793    0.694
    ipbhprp (.p3.)          1.174    0.048   24.536    0.000    0.627    0.538

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad (.p8.)    4.478    0.025  177.100    0.000    4.478    3.544
   .ipfrule (.p9.)    4.202    0.038  110.883    0.000    4.202    3.675
   .ipbhprp (.10.)    4.635    0.024  195.377    0.000    4.635    3.974
    TrdtnCn           0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           1.311    0.065   20.158    0.000    1.311    0.821
   .ipfrule           0.678    0.065   10.437    0.000    0.678    0.519
   .ipbhprp           0.967    0.060   16.035    0.000    0.967    0.711
    TraditnCnfrmty    0.286    0.031    9.177    0.000    1.000    1.000


Group 2 [DE]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.624    0.454
    ipfrule (.p2.)          1.484    0.088   16.897    0.000    0.927    0.655
    ipbhprp (.p3.)          1.174    0.048   24.536    0.000    0.733    0.568

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad (.p8.)    4.478    0.025  177.100    0.000    4.478    3.258
   .ipfrule (.p9.)    4.202    0.038  110.883    0.000    4.202    2.972
   .ipbhprp (.10.)    4.635    0.024  195.377    0.000    4.635    3.595
    TrdtnCn          -0.494    0.028  -17.603    0.000   -0.791   -0.791

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           1.500    0.047   31.732    0.000    1.500    0.794
   .ipfrule           1.140    0.058   19.567    0.000    1.140    0.570
   .ipbhprp           1.125    0.045   24.981    0.000    1.125    0.677
    TraditnCnfrmty    0.390    0.034   11.480    0.000    1.000    1.000


Group 3 [GB]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.646    0.453
    ipfrule (.p2.)          1.484    0.088   16.897    0.000    0.960    0.662
    ipbhprp (.p3.)          1.174    0.048   24.536    0.000    0.759    0.591

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad (.p8.)    4.478    0.025  177.100    0.000    4.478    3.138
   .ipfrule (.p9.)    4.202    0.038  110.883    0.000    4.202    2.897
   .ipbhprp (.10.)    4.635    0.024  195.377    0.000    4.635    3.612
    TrdtnCn          -0.326    0.030  -10.772    0.000   -0.505   -0.505

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad           1.619    0.058   28.086    0.000    1.619    0.795
   .ipfrule           1.183    0.074   15.991    0.000    1.183    0.562
   .ipbhprp           1.070    0.055   19.487    0.000    1.070    0.650
    TraditnCnfrmty    0.418    0.040   10.411    0.000    1.000    1.000

Fixed factor method

Note! Only in one group does the variance and the intercept of the latent factor for model identification have to be fixed at 1 and 0, respectively. In the other groups, factor variance and intercept is freely estimated.

tradition_conformity_fit_scalar2 <- cfa(
  model = "
    group: [CZ]
    TraditionConformity =~ NA*imptrad + a*imptrad + b*ipfrule + c*ipbhprp
    imptrad ~ d*1
    ipfrule ~ e*1
    ipbhprp ~ f*1
    TraditionConformity ~ 0*1
    TraditionConformity ~~ 1*TraditionConformity
    
    group: [DE]
    TraditionConformity =~ NA*imptrad + a*imptrad + b*ipfrule + c*ipbhprp
    imptrad ~ d*1
    ipfrule ~ e*1
    ipbhprp ~ f*1
    TraditionConformity ~ NA*1
    TraditionConformity ~~ NA*TraditionConformity
    
    group: [GB]
    TraditionConformity =~ NA*imptrad + a*imptrad + b*ipfrule + c*ipbhprp
    imptrad ~ d*1
    ipfrule ~ e*1
    ipbhprp ~ f*1
    TraditionConformity ~ NA*1
    TraditionConformity ~~ NA*TraditionConformity
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = tradition_conformity_fit_scalar2,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 60 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        31
  Number of equality constraints                    12

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               151.984     143.262
  Degrees of freedom                                 8           8
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.061
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                          88.375      83.303
    DE                                          19.731      18.599
    GB                                          43.878      41.360

Model Test Baseline Model:

  Test statistic                              1721.409    1289.802
  Degrees of freedom                                 9           9
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.335

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.916       0.894
  Tucker-Lewis Index (TLI)                       0.905       0.881
                                                                  
  Robust Comparative Fit Index (CFI)                         0.916
  Robust Tucker-Lewis Index (TLI)                            0.906

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -28998.209  -28998.209
  Scaling correction factor                                  0.620
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -28922.216  -28922.216
  Scaling correction factor                                  1.027
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               58034.417   58034.417
  Bayesian (BIC)                             58161.207   58161.207
  Sample-size adjusted Bayesian (BIC)        58100.831   58100.831

Root Mean Square Error of Approximation:

  RMSEA                                          0.096       0.093
  90 Percent confidence interval - lower         0.083       0.081
  90 Percent confidence interval - upper         0.110       0.106
  P-value RMSEA <= 0.05                          0.000       0.000
                                                                  
  Robust RMSEA                                               0.096
  90 Percent confidence interval - lower                     0.083
  90 Percent confidence interval - upper                     0.110

Standardized Root Mean Square Residual:

  SRMR                                           0.042       0.042

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad    (a)          0.534    0.029   18.354    0.000    0.534    0.423
    ipfrule    (b)          0.793    0.032   24.654    0.000    0.793    0.694
    ipbhprp    (c)          0.627    0.032   19.908    0.000    0.627    0.538

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad    (d)    4.478    0.025  177.100    0.000    4.478    3.544
   .ipfrule    (e)    4.202    0.038  110.883    0.000    4.202    3.675
   .ipbhprp    (f)    4.635    0.024  195.376    0.000    4.635    3.974
    TrdtnCnfrm        0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    TraditnCnfrmty    1.000                               1.000    1.000
   .imptrad           1.311    0.065   20.158    0.000    1.311    0.821
   .ipfrule           0.678    0.065   10.437    0.000    0.678    0.519
   .ipbhprp           0.967    0.060   16.035    0.000    0.967    0.711


Group 2 [DE]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad    (a)          0.534    0.029   18.354    0.000    0.624    0.454
    ipfrule    (b)          0.793    0.032   24.654    0.000    0.927    0.655
    ipbhprp    (c)          0.627    0.032   19.908    0.000    0.733    0.568

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad    (d)    4.478    0.025  177.100    0.000    4.478    3.258
   .ipfrule    (e)    4.202    0.038  110.883    0.000    4.202    2.972
   .ipbhprp    (f)    4.635    0.024  195.376    0.000    4.635    3.595
    TrdtnCnfrm       -0.924    0.063  -14.626    0.000   -0.791   -0.791

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    TraditnCnfrmty    1.365    0.116   11.752    0.000    1.000    1.000
   .imptrad           1.500    0.047   31.732    0.000    1.500    0.794
   .ipfrule           1.140    0.058   19.567    0.000    1.140    0.570
   .ipbhprp           1.125    0.045   24.981    0.000    1.125    0.677


Group 3 [GB]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad    (a)          0.534    0.029   18.354    0.000    0.646    0.453
    ipfrule    (b)          0.793    0.032   24.654    0.000    0.960    0.662
    ipbhprp    (c)          0.627    0.032   19.908    0.000    0.759    0.591

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad    (d)    4.478    0.025  177.100    0.000    4.478    3.138
   .ipfrule    (e)    4.202    0.038  110.883    0.000    4.202    2.897
   .ipbhprp    (f)    4.635    0.024  195.376    0.000    4.635    3.612
    TrdtnCnfrm       -0.611    0.064   -9.488    0.000   -0.505   -0.505

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    TraditnCnfrmty    1.463    0.133   11.041    0.000    1.000    1.000
   .imptrad           1.619    0.058   28.086    0.000    1.619    0.795
   .ipfrule           1.183    0.074   15.991    0.000    1.183    0.562
   .ipbhprp           1.070    0.055   19.487    0.000    1.070    0.650

Comparing fit statistics

compFit.tradition_conformity <- compareFit(
  scalar = tradition_conformity_fit_scalar,
  metric = tradition_conformity_fit_metric,
  config = tradition_conformity_fit_config,
  argsLRT = list(method = "satorra.bentler.2001")
)
summary(
  object = compFit.tradition_conformity, 
  fit.measures = c("chisq.scaled", "df.scaled", "pvalue.scaled", 
                   "rmsea.scaled", "cfi.scaled", "tli.scaled",
                   "srmr", "aic", "bic")
  ) 
################### Nested Model Comparison #########################
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")

lavaan NOTE:
    The "Chisq" column contains standard test statistics, not the
    robust test that should be reported per model. A robust difference
    test is a function of two standard (not robust) statistics.
 
       Df   AIC   BIC    Chisq Chisq diff Df diff Pr(>Chisq)    
config  0 57898 58079   0.0000                                  
metric  4 57897 58050   6.3664      5.479       4     0.2415    
scalar  8 58034 58161 151.9842    151.701       4     <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

####################### Model Fit Indices ###########################
       chisq.scaled df.scaled pvalue.scaled rmsea.scaled cfi.scaled tli.scaled
config        .000†                      NA        .000†     1.000†     1.000†
metric       5.479          4          .242        .014      0.999      0.997 
scalar     143.262          8          .000        .093       .894       .881 
        srmr        aic        bic
config .000† 57898.433  58078.609 
metric .010  57896.799† 58050.282†
scalar .042  58034.417  58161.207 

################## Differences in Fit Indices #######################
                df.scaled rmsea.scaled cfi.scaled tli.scaled  srmr     aic
metric - config         4        0.014     -0.001     -0.003 0.010  -1.634
scalar - metric         4        0.079     -0.104     -0.116 0.031 137.618
                    bic
metric - config -28.326
scalar - metric 110.925

Fixed factor method

compFit.tradition_conformity2 <- compareFit(
  scalar = tradition_conformity_fit_scalar2,
  metric = tradition_conformity_fit_metric2,
  config = tradition_conformity_fit_config2,
  argsLRT = list(method = "satorra.bentler.2001")
)
summary(
  object = compFit.tradition_conformity2, 
  fit.measures = c("chisq.scaled", "df.scaled", "pvalue.scaled", 
                   "rmsea.scaled", "cfi.scaled", "tli.scaled",
                   "srmr", "aic", "bic")
  ) 
################### Nested Model Comparison #########################
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")

lavaan NOTE:
    The "Chisq" column contains standard test statistics, not the
    robust test that should be reported per model. A robust difference
    test is a function of two standard (not robust) statistics.
 
       Df   AIC   BIC    Chisq Chisq diff Df diff Pr(>Chisq)    
config  0 57898 58079   0.0000                                  
metric  4 57897 58050   6.3664      5.479       4     0.2415    
scalar  8 58034 58161 151.9842    151.701       4     <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

####################### Model Fit Indices ###########################
       chisq.scaled df.scaled pvalue.scaled rmsea.scaled cfi.scaled tli.scaled
config        .000†                      NA        .000†     1.000†     1.000†
metric       5.479          4          .242        .014      0.999      0.997 
scalar     143.262          8          .000        .093       .894       .881 
        srmr        aic        bic
config .000† 57898.433  58078.609 
metric .010  57896.799† 58050.282†
scalar .042  58034.417  58161.207 

################## Differences in Fit Indices #######################
                df.scaled rmsea.scaled cfi.scaled tli.scaled  srmr     aic
metric - config         4        0.014     -0.001     -0.003 0.010  -1.634
scalar - metric         4        0.079     -0.104     -0.116 0.031 137.618
                    bic
metric - config -28.326
scalar - metric 110.925

MI - Perceived Threat

Measurement for each group

Reference indicator method

perceived_threat_fit_countries <- ESS07_countries %>% 
  map(~ cfa(
    model = "
      PerceivedThreat =~ imbgeco + imueclt + imtcjob + rlgueim
      imueclt   ~~  rlgueim
    ", 
    data = .,
    estimator = "MLR",
    # optional if there are missing values
    missing = "fiml.x"
    ))
perceived_threat_fit_countries %>% 
  map(~ summary(
    object = .,
    fit.measures = T,
    standardized = T
    # rsquare = T
  ))
$CZ
lavaan 0.6-12 ended normally after 32 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        13

  Number of observations                          1393
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 9.641       6.828
  Degrees of freedom                                 1           1
  P-value (Chi-square)                           0.002       0.009
  Scaling correction factor                                  1.412
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              1433.735     824.522
  Degrees of freedom                                 6           6
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.739

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.994       0.993
  Tucker-Lewis Index (TLI)                       0.964       0.957
                                                                  
  Robust Comparative Fit Index (CFI)                         0.994
  Robust Tucker-Lewis Index (TLI)                            0.965

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -11199.036  -11199.036
  Scaling correction factor                                  1.307
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -11194.216  -11194.216
  Scaling correction factor                                  1.315
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               22424.072   22424.072
  Bayesian (BIC)                             22492.182   22492.182
  Sample-size adjusted Bayesian (BIC)        22450.886   22450.886

Root Mean Square Error of Approximation:

  RMSEA                                          0.079       0.065
  90 Percent confidence interval - lower         0.039       0.031
  90 Percent confidence interval - upper         0.127       0.106
  P-value RMSEA <= 0.05                          0.108       0.210
                                                                  
  Robust RMSEA                                               0.077
  90 Percent confidence interval - lower                     0.031
  90 Percent confidence interval - upper                     0.136

Standardized Root Mean Square Residual:

  SRMR                                           0.014       0.014

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.000                               1.685    0.808
    imueclt             0.912    0.051   17.804    0.000    1.537    0.756
    imtcjob             0.749    0.042   17.885    0.000    1.262    0.601
    rlgueim             0.520    0.051   10.213    0.000    0.877    0.440

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.440    0.135    3.251    0.001    0.440    0.185

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           6.317    0.056  113.018    0.000    6.317    3.028
   .imueclt           6.115    0.054  112.277    0.000    6.115    3.008
   .imtcjob           6.556    0.056  116.518    0.000    6.556    3.122
   .rlgueim           6.042    0.053  113.304    0.000    6.042    3.036
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           1.514    0.177    8.566    0.000    1.514    0.348
   .imueclt           1.771    0.168   10.541    0.000    1.771    0.429
   .imtcjob           2.817    0.161   17.454    0.000    2.817    0.639
   .rlgueim           3.193    0.185   17.303    0.000    3.193    0.806
    PerceivedThret    2.838    0.205   13.831    0.000    1.000    1.000


$DE
lavaan 0.6-12 ended normally after 31 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        13

  Number of observations                          2671
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                27.537      21.670
  Degrees of freedom                                 1           1
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.271
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              3111.932    2017.240
  Degrees of freedom                                 6           6
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.543

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.991       0.990
  Tucker-Lewis Index (TLI)                       0.949       0.938
                                                                  
  Robust Comparative Fit Index (CFI)                         0.992
  Robust Tucker-Lewis Index (TLI)                            0.949

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -22018.818  -22018.818
  Scaling correction factor                                  1.252
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -22005.049  -22005.049
  Scaling correction factor                                  1.254
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               44063.635   44063.635
  Bayesian (BIC)                             44140.208   44140.208
  Sample-size adjusted Bayesian (BIC)        44098.903   44098.903

Root Mean Square Error of Approximation:

  RMSEA                                          0.100       0.088
  90 Percent confidence interval - lower         0.070       0.061
  90 Percent confidence interval - upper         0.133       0.118
  P-value RMSEA <= 0.05                          0.004       0.011
                                                                  
  Robust RMSEA                                               0.099
  90 Percent confidence interval - lower                     0.066
  90 Percent confidence interval - upper                     0.137

Standardized Root Mean Square Residual:

  SRMR                                           0.015       0.015

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.000                               1.965    0.847
    imueclt             0.837    0.033   25.661    0.000    1.646    0.698
    imtcjob             0.665    0.028   23.404    0.000    1.306    0.638
    rlgueim             0.489    0.029   16.810    0.000    0.962    0.464

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           1.009    0.098   10.345    0.000    1.009    0.325

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           4.203    0.045   93.648    0.000    4.203    1.812
   .imueclt           3.752    0.046   82.188    0.000    3.752    1.590
   .imtcjob           4.417    0.040  111.454    0.000    4.417    2.157
   .rlgueim           4.758    0.040  118.646    0.000    4.758    2.296
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           1.517    0.153    9.945    0.000    1.517    0.282
   .imueclt           2.858    0.132   21.654    0.000    2.858    0.513
   .imtcjob           2.489    0.116   21.454    0.000    2.489    0.593
   .rlgueim           3.370    0.116   29.042    0.000    3.370    0.785
    PerceivedThret    3.862    0.195   19.796    0.000    1.000    1.000


$GB
lavaan 0.6-12 ended normally after 33 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        13

  Number of observations                          1780
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                14.448       7.701
  Degrees of freedom                                 1           1
  P-value (Chi-square)                           0.000       0.006
  Scaling correction factor                                  1.876
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              2607.729    1415.086
  Degrees of freedom                                 6           6
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.843

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.995       0.995
  Tucker-Lewis Index (TLI)                       0.969       0.971
                                                                  
  Robust Comparative Fit Index (CFI)                         0.995
  Robust Tucker-Lewis Index (TLI)                            0.971

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -15132.160  -15132.160
  Scaling correction factor                                  1.258
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -15124.936  -15124.936
  Scaling correction factor                                  1.302
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               30290.321   30290.321
  Bayesian (BIC)                             30361.617   30361.617
  Sample-size adjusted Bayesian (BIC)        30320.317   30320.317

Root Mean Square Error of Approximation:

  RMSEA                                          0.087       0.061
  90 Percent confidence interval - lower         0.051       0.035
  90 Percent confidence interval - upper         0.129       0.093
  P-value RMSEA <= 0.05                          0.045       0.218
                                                                  
  Robust RMSEA                                               0.084
  90 Percent confidence interval - lower                     0.037
  90 Percent confidence interval - upper                     0.143

Standardized Root Mean Square Residual:

  SRMR                                           0.012       0.012

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.000                               2.081    0.838
    imueclt             1.025    0.039   26.060    0.000    2.134    0.795
    imtcjob             0.727    0.031   23.404    0.000    1.512    0.659
    rlgueim             0.611    0.037   16.468    0.000    1.270    0.556

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.897    0.159    5.652    0.000    0.897    0.290

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           5.097    0.059   86.586    0.000    5.097    2.052
   .imueclt           5.002    0.064   78.633    0.000    5.002    1.864
   .imtcjob           5.271    0.054   96.863    0.000    5.271    2.296
   .rlgueim           5.592    0.054  103.308    0.000    5.592    2.449
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           1.840    0.173   10.660    0.000    1.840    0.298
   .imueclt           2.651    0.214   12.414    0.000    2.651    0.368
   .imtcjob           2.984    0.157   19.046    0.000    2.984    0.566
   .rlgueim           3.602    0.173   20.771    0.000    3.602    0.691
    PerceivedThret    4.329    0.236   18.318    0.000    1.000    1.000

Fixed factor method

perceived_threat_fit_countries2 <- ESS07_countries %>% 
  map(~ cfa(
    model = "
      PerceivedThreat =~ NA*imbgeco + imueclt + imtcjob + rlgueim
      imueclt ~~ rlgueim
      PerceivedThreat ~~ 1*PerceivedThreat
    ", 
    data = .,
    estimator = "MLR",
    # optional if there are missing values
    missing = "fiml.x"
    ))
perceived_threat_fit_countries2 %>% 
  map(~ summary(
    object = .,
    fit.measures = T,
    standardized = T
    # rsquare = T
  ))
$CZ
lavaan 0.6-12 ended normally after 24 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        13

  Number of observations                          1393
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 9.641       6.828
  Degrees of freedom                                 1           1
  P-value (Chi-square)                           0.002       0.009
  Scaling correction factor                                  1.412
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              1433.735     824.522
  Degrees of freedom                                 6           6
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.739

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.994       0.993
  Tucker-Lewis Index (TLI)                       0.964       0.957
                                                                  
  Robust Comparative Fit Index (CFI)                         0.994
  Robust Tucker-Lewis Index (TLI)                            0.965

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -11199.036  -11199.036
  Scaling correction factor                                  1.307
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -11194.216  -11194.216
  Scaling correction factor                                  1.315
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               22424.072   22424.072
  Bayesian (BIC)                             22492.182   22492.182
  Sample-size adjusted Bayesian (BIC)        22450.886   22450.886

Root Mean Square Error of Approximation:

  RMSEA                                          0.079       0.065
  90 Percent confidence interval - lower         0.039       0.031
  90 Percent confidence interval - upper         0.127       0.106
  P-value RMSEA <= 0.05                          0.108       0.210
                                                                  
  Robust RMSEA                                               0.077
  90 Percent confidence interval - lower                     0.031
  90 Percent confidence interval - upper                     0.136

Standardized Root Mean Square Residual:

  SRMR                                           0.014       0.014

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.685    0.061   27.663    0.000    1.685    0.808
    imueclt             1.537    0.062   24.770    0.000    1.537    0.756
    imtcjob             1.262    0.062   20.249    0.000    1.262    0.601
    rlgueim             0.877    0.074   11.769    0.000    0.877    0.440

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.440    0.135    3.251    0.001    0.440    0.185

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           6.317    0.056  113.018    0.000    6.317    3.028
   .imueclt           6.115    0.054  112.277    0.000    6.115    3.008
   .imtcjob           6.556    0.056  116.518    0.000    6.556    3.122
   .rlgueim           6.042    0.053  113.304    0.000    6.042    3.036
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    PerceivedThret    1.000                               1.000    1.000
   .imbgeco           1.514    0.177    8.566    0.000    1.514    0.348
   .imueclt           1.771    0.168   10.541    0.000    1.771    0.429
   .imtcjob           2.817    0.161   17.454    0.000    2.817    0.639
   .rlgueim           3.193    0.185   17.303    0.000    3.193    0.806


$DE
lavaan 0.6-12 ended normally after 23 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        13

  Number of observations                          2671
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                27.537      21.670
  Degrees of freedom                                 1           1
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.271
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              3111.932    2017.240
  Degrees of freedom                                 6           6
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.543

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.991       0.990
  Tucker-Lewis Index (TLI)                       0.949       0.938
                                                                  
  Robust Comparative Fit Index (CFI)                         0.992
  Robust Tucker-Lewis Index (TLI)                            0.949

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -22018.818  -22018.818
  Scaling correction factor                                  1.252
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -22005.049  -22005.049
  Scaling correction factor                                  1.254
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               44063.635   44063.635
  Bayesian (BIC)                             44140.208   44140.208
  Sample-size adjusted Bayesian (BIC)        44098.903   44098.903

Root Mean Square Error of Approximation:

  RMSEA                                          0.100       0.088
  90 Percent confidence interval - lower         0.070       0.061
  90 Percent confidence interval - upper         0.133       0.118
  P-value RMSEA <= 0.05                          0.004       0.011
                                                                  
  Robust RMSEA                                               0.099
  90 Percent confidence interval - lower                     0.066
  90 Percent confidence interval - upper                     0.137

Standardized Root Mean Square Residual:

  SRMR                                           0.015       0.015

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.965    0.050   39.593    0.000    1.965    0.847
    imueclt             1.646    0.050   33.025    0.000    1.646    0.698
    imtcjob             1.306    0.048   27.027    0.000    1.306    0.638
    rlgueim             0.962    0.050   19.417    0.000    0.962    0.464

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           1.009    0.098   10.345    0.000    1.009    0.325

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           4.203    0.045   93.648    0.000    4.203    1.812
   .imueclt           3.752    0.046   82.188    0.000    3.752    1.590
   .imtcjob           4.417    0.040  111.454    0.000    4.417    2.157
   .rlgueim           4.758    0.040  118.646    0.000    4.758    2.296
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    PerceivedThret    1.000                               1.000    1.000
   .imbgeco           1.517    0.153    9.945    0.000    1.517    0.282
   .imueclt           2.858    0.132   21.654    0.000    2.858    0.513
   .imtcjob           2.489    0.116   21.454    0.000    2.489    0.593
   .rlgueim           3.370    0.116   29.042    0.000    3.370    0.785


$GB
lavaan 0.6-12 ended normally after 24 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        13

  Number of observations                          1780
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                14.448       7.701
  Degrees of freedom                                 1           1
  P-value (Chi-square)                           0.000       0.006
  Scaling correction factor                                  1.876
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              2607.729    1415.086
  Degrees of freedom                                 6           6
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.843

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.995       0.995
  Tucker-Lewis Index (TLI)                       0.969       0.971
                                                                  
  Robust Comparative Fit Index (CFI)                         0.995
  Robust Tucker-Lewis Index (TLI)                            0.971

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -15132.160  -15132.160
  Scaling correction factor                                  1.258
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -15124.936  -15124.936
  Scaling correction factor                                  1.302
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               30290.321   30290.321
  Bayesian (BIC)                             30361.617   30361.617
  Sample-size adjusted Bayesian (BIC)        30320.317   30320.317

Root Mean Square Error of Approximation:

  RMSEA                                          0.087       0.061
  90 Percent confidence interval - lower         0.051       0.035
  90 Percent confidence interval - upper         0.129       0.093
  P-value RMSEA <= 0.05                          0.045       0.218
                                                                  
  Robust RMSEA                                               0.084
  90 Percent confidence interval - lower                     0.037
  90 Percent confidence interval - upper                     0.143

Standardized Root Mean Square Residual:

  SRMR                                           0.012       0.012

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             2.081    0.057   36.637    0.000    2.081    0.838
    imueclt             2.134    0.061   35.149    0.000    2.134    0.795
    imtcjob             1.512    0.058   25.856    0.000    1.512    0.659
    rlgueim             1.270    0.065   19.421    0.000    1.270    0.556

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.897    0.159    5.652    0.000    0.897    0.290

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           5.097    0.059   86.586    0.000    5.097    2.052
   .imueclt           5.002    0.064   78.633    0.000    5.002    1.864
   .imtcjob           5.271    0.054   96.863    0.000    5.271    2.296
   .rlgueim           5.592    0.054  103.308    0.000    5.592    2.449
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    PerceivedThret    1.000                               1.000    1.000
   .imbgeco           1.840    0.173   10.660    0.000    1.840    0.298
   .imueclt           2.651    0.214   12.414    0.000    2.651    0.368
   .imtcjob           2.984    0.157   19.046    0.000    2.984    0.566
   .rlgueim           3.602    0.173   20.771    0.000    3.602    0.691

Configural model

Reference indicator method

perceived_threat_fit_config <- cfa(
  model = "
    PerceivedThreat =~ imbgeco + imueclt + imtcjob + rlgueim
    imueclt ~~ rlgueim
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = perceived_threat_fit_config,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 110 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        39

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                51.626      33.973
  Degrees of freedom                                 3           3
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.520
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                           9.641       6.344
    DE                                          27.537      18.121
    GB                                          14.448       9.507

Model Test Baseline Model:

  Test statistic                              7153.396    4187.890
  Degrees of freedom                                18          18
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.708

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.993       0.993
  Tucker-Lewis Index (TLI)                       0.959       0.955
                                                                  
  Robust Comparative Fit Index (CFI)                         0.993
  Robust Tucker-Lewis Index (TLI)                            0.960

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -48350.014  -48350.014
  Scaling correction factor                                  1.273
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -48324.201  -48324.201
  Scaling correction factor                                  1.290
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               96778.028   96778.028
  Bayesian (BIC)                             97038.282   97038.282
  Sample-size adjusted Bayesian (BIC)        96914.351   96914.351

Root Mean Square Error of Approximation:

  RMSEA                                          0.091       0.073
  90 Percent confidence interval - lower         0.070       0.056
  90 Percent confidence interval - upper         0.114       0.091
  P-value RMSEA <= 0.05                          0.001       0.015
                                                                  
  Robust RMSEA                                               0.090
  90 Percent confidence interval - lower                     0.064
  90 Percent confidence interval - upper                     0.118

Standardized Root Mean Square Residual:

  SRMR                                           0.014       0.014

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.000                               1.685    0.808
    imueclt             0.912    0.051   17.804    0.000    1.537    0.756
    imtcjob             0.749    0.042   17.885    0.000    1.262    0.601
    rlgueim             0.520    0.051   10.213    0.000    0.877    0.440

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.440    0.135    3.251    0.001    0.440    0.185

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           6.317    0.056  113.018    0.000    6.317    3.028
   .imueclt           6.115    0.054  112.277    0.000    6.115    3.008
   .imtcjob           6.556    0.056  116.518    0.000    6.556    3.122
   .rlgueim           6.042    0.053  113.304    0.000    6.042    3.036
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           1.514    0.177    8.566    0.000    1.514    0.348
   .imueclt           1.771    0.168   10.541    0.000    1.771    0.429
   .imtcjob           2.817    0.161   17.454    0.000    2.817    0.639
   .rlgueim           3.193    0.185   17.303    0.000    3.193    0.806
    PerceivedThret    2.838    0.205   13.831    0.000    1.000    1.000


Group 2 [DE]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.000                               1.965    0.847
    imueclt             0.837    0.033   25.661    0.000    1.646    0.698
    imtcjob             0.665    0.028   23.404    0.000    1.306    0.638
    rlgueim             0.489    0.029   16.810    0.000    0.962    0.464

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           1.009    0.098   10.345    0.000    1.009    0.325

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           4.203    0.045   93.648    0.000    4.203    1.812
   .imueclt           3.752    0.046   82.188    0.000    3.752    1.590
   .imtcjob           4.417    0.040  111.454    0.000    4.417    2.157
   .rlgueim           4.758    0.040  118.646    0.000    4.758    2.296
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           1.517    0.153    9.945    0.000    1.517    0.282
   .imueclt           2.858    0.132   21.654    0.000    2.858    0.513
   .imtcjob           2.489    0.116   21.454    0.000    2.489    0.593
   .rlgueim           3.370    0.116   29.042    0.000    3.370    0.785
    PerceivedThret    3.862    0.195   19.796    0.000    1.000    1.000


Group 3 [GB]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.000                               2.081    0.838
    imueclt             1.025    0.039   26.060    0.000    2.134    0.795
    imtcjob             0.727    0.031   23.404    0.000    1.512    0.659
    rlgueim             0.611    0.037   16.468    0.000    1.270    0.556

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.897    0.159    5.652    0.000    0.897    0.290

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           5.097    0.059   86.586    0.000    5.097    2.052
   .imueclt           5.002    0.064   78.633    0.000    5.002    1.864
   .imtcjob           5.271    0.054   96.863    0.000    5.271    2.296
   .rlgueim           5.592    0.054  103.308    0.000    5.592    2.449
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           1.840    0.173   10.660    0.000    1.840    0.298
   .imueclt           2.651    0.214   12.414    0.000    2.651    0.368
   .imtcjob           2.984    0.157   19.046    0.000    2.984    0.566
   .rlgueim           3.602    0.173   20.771    0.000    3.602    0.691
    PerceivedThret    4.329    0.236   18.318    0.000    1.000    1.000

Fixed factor method

perceived_threat_fit_config2 <- cfa(
  model = "
    group: [CZ]
    PerceivedThreat =~ NA*imbgeco + imueclt + imtcjob + rlgueim
    imueclt ~~ rlgueim
    PerceivedThreat ~~ 1*PerceivedThreat
    
    group: [DE]
    PerceivedThreat =~ NA*imbgeco + imueclt + imtcjob + rlgueim
    imueclt ~~ rlgueim
    PerceivedThreat ~~ 1*PerceivedThreat
    
    group: [GB]
    PerceivedThreat =~ NA*imbgeco + imueclt + imtcjob + rlgueim
    imueclt ~~ rlgueim
    PerceivedThreat ~~ 1*PerceivedThreat
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = perceived_threat_fit_config2,
  fit.measures = T,
  standardized = T
)
lavaan 0.6-12 ended normally after 71 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        39

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                51.626      33.973
  Degrees of freedom                                 3           3
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.520
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                           9.641       6.344
    DE                                          27.537      18.121
    GB                                          14.448       9.507

Model Test Baseline Model:

  Test statistic                              7153.396    4187.890
  Degrees of freedom                                18          18
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.708

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.993       0.993
  Tucker-Lewis Index (TLI)                       0.959       0.955
                                                                  
  Robust Comparative Fit Index (CFI)                         0.993
  Robust Tucker-Lewis Index (TLI)                            0.960

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -48350.014  -48350.014
  Scaling correction factor                                  1.273
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -48324.201  -48324.201
  Scaling correction factor                                  1.290
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               96778.028   96778.028
  Bayesian (BIC)                             97038.282   97038.282
  Sample-size adjusted Bayesian (BIC)        96914.351   96914.351

Root Mean Square Error of Approximation:

  RMSEA                                          0.091       0.073
  90 Percent confidence interval - lower         0.070       0.056
  90 Percent confidence interval - upper         0.114       0.091
  P-value RMSEA <= 0.05                          0.001       0.015
                                                                  
  Robust RMSEA                                               0.090
  90 Percent confidence interval - lower                     0.064
  90 Percent confidence interval - upper                     0.118

Standardized Root Mean Square Residual:

  SRMR                                           0.014       0.014

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.685    0.061   27.663    0.000    1.685    0.808
    imueclt             1.537    0.062   24.771    0.000    1.537    0.756
    imtcjob             1.262    0.062   20.249    0.000    1.262    0.601
    rlgueim             0.877    0.074   11.769    0.000    0.877    0.440

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.440    0.135    3.251    0.001    0.440    0.185

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           6.317    0.056  113.018    0.000    6.317    3.028
   .imueclt           6.115    0.054  112.277    0.000    6.115    3.008
   .imtcjob           6.556    0.056  116.518    0.000    6.556    3.122
   .rlgueim           6.042    0.053  113.304    0.000    6.042    3.036
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    PerceivedThret    1.000                               1.000    1.000
   .imbgeco           1.514    0.177    8.566    0.000    1.514    0.348
   .imueclt           1.771    0.168   10.541    0.000    1.771    0.429
   .imtcjob           2.817    0.161   17.454    0.000    2.817    0.639
   .rlgueim           3.193    0.185   17.303    0.000    3.193    0.806


Group 2 [DE]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.965    0.050   39.593    0.000    1.965    0.847
    imueclt             1.646    0.050   33.025    0.000    1.646    0.698
    imtcjob             1.306    0.048   27.027    0.000    1.306    0.638
    rlgueim             0.962    0.050   19.417    0.000    0.962    0.464

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           1.009    0.098   10.345    0.000    1.009    0.325

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           4.203    0.045   93.648    0.000    4.203    1.812
   .imueclt           3.752    0.046   82.188    0.000    3.752    1.590
   .imtcjob           4.417    0.040  111.454    0.000    4.417    2.157
   .rlgueim           4.758    0.040  118.646    0.000    4.758    2.296
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    PerceivedThret    1.000                               1.000    1.000
   .imbgeco           1.517    0.153    9.945    0.000    1.517    0.282
   .imueclt           2.858    0.132   21.654    0.000    2.858    0.513
   .imtcjob           2.489    0.116   21.454    0.000    2.489    0.593
   .rlgueim           3.370    0.116   29.042    0.000    3.370    0.785


Group 3 [GB]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             2.081    0.057   36.637    0.000    2.081    0.838
    imueclt             2.134    0.061   35.149    0.000    2.134    0.795
    imtcjob             1.512    0.058   25.856    0.000    1.512    0.659
    rlgueim             1.270    0.065   19.421    0.000    1.270    0.556

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.897    0.159    5.652    0.000    0.897    0.290

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           5.097    0.059   86.586    0.000    5.097    2.052
   .imueclt           5.002    0.064   78.633    0.000    5.002    1.864
   .imtcjob           5.271    0.054   96.863    0.000    5.271    2.296
   .rlgueim           5.592    0.054  103.308    0.000    5.592    2.449
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    PerceivedThret    1.000                               1.000    1.000
   .imbgeco           1.840    0.173   10.660    0.000    1.840    0.298
   .imueclt           2.651    0.214   12.414    0.000    2.651    0.368
   .imtcjob           2.984    0.157   19.046    0.000    2.984    0.566
   .rlgueim           3.602    0.173   20.771    0.000    3.602    0.691

Metric model

Reference indicator method

perceived_threat_fit_metric <- cfa(
  model = "
    PerceivedThreat =~ imbgeco + imueclt + imtcjob + rlgueim
    imueclt ~~ rlgueim
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  group.equal = "loadings",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = perceived_threat_fit_metric,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 101 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        39
  Number of equality constraints                     6

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                70.959      52.609
  Degrees of freedom                                 9           9
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.349
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                          11.938       8.851
    DE                                          34.814      25.811
    GB                                          24.207      17.947

Model Test Baseline Model:

  Test statistic                              7153.396    4187.890
  Degrees of freedom                                18          18
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.708

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.991       0.990
  Tucker-Lewis Index (TLI)                       0.983       0.979
                                                                  
  Robust Comparative Fit Index (CFI)                         0.992
  Robust Tucker-Lewis Index (TLI)                            0.983

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -48359.681  -48359.681
  Scaling correction factor                                  1.078
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -48324.201  -48324.201
  Scaling correction factor                                  1.290
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               96785.361   96785.361
  Bayesian (BIC)                             97005.576   97005.576
  Sample-size adjusted Bayesian (BIC)        96900.711   96900.711

Root Mean Square Error of Approximation:

  RMSEA                                          0.059       0.050
  90 Percent confidence interval - lower         0.047       0.039
  90 Percent confidence interval - upper         0.073       0.061
  P-value RMSEA <= 0.05                          0.102       0.483
                                                                  
  Robust RMSEA                                               0.058
  90 Percent confidence interval - lower                     0.043
  90 Percent confidence interval - upper                     0.074

Standardized Root Mean Square Residual:

  SRMR                                           0.021       0.021

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.000                               1.692    0.809
    imueclt (.p2.)      0.921    0.023   39.374    0.000    1.557    0.763
    imtcjob (.p3.)      0.705    0.019   37.242    0.000    1.192    0.576
    rlgueim (.p4.)      0.540    0.021   25.129    0.000    0.914    0.456

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.416    0.115    3.622    0.000    0.416    0.177

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           6.317    0.056  113.018    0.000    6.317    3.021
   .imueclt           6.115    0.054  112.277    0.000    6.115    2.996
   .imtcjob           6.556    0.056  116.518    0.000    6.556    3.166
   .rlgueim           6.042    0.053  113.304    0.000    6.042    3.017
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           1.511    0.138   10.933    0.000    1.511    0.346
   .imueclt           1.741    0.136   12.817    0.000    1.741    0.418
   .imtcjob           2.867    0.147   19.475    0.000    2.867    0.669
   .rlgueim           3.175    0.169   18.809    0.000    3.175    0.792
    PerceivedThret    2.862    0.156   18.307    0.000    1.000    1.000


Group 2 [DE]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.000                               1.881    0.819
    imueclt (.p2.)      0.921    0.023   39.374    0.000    1.731    0.725
    imtcjob (.p3.)      0.705    0.019   37.242    0.000    1.326    0.646
    rlgueim (.p4.)      0.540    0.021   25.129    0.000    1.016    0.488

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.910    0.091    9.972    0.000    0.910    0.304

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           4.203    0.045   93.648    0.000    4.203    1.830
   .imueclt           3.752    0.046   82.188    0.000    3.752    1.570
   .imtcjob           4.417    0.040  111.454    0.000    4.417    2.153
   .rlgueim           4.758    0.040  118.646    0.000    4.758    2.285
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           1.738    0.124   14.054    0.000    1.738    0.329
   .imueclt           2.712    0.120   22.574    0.000    2.712    0.475
   .imtcjob           2.451    0.108   22.697    0.000    2.451    0.582
   .rlgueim           3.304    0.112   29.462    0.000    3.304    0.762
    PerceivedThret    3.537    0.166   21.298    0.000    1.000    1.000


Group 3 [GB]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.000                               2.170    0.865
    imueclt (.p2.)      0.921    0.023   39.374    0.000    1.997    0.759
    imtcjob (.p3.)      0.705    0.019   37.242    0.000    1.529    0.662
    rlgueim (.p4.)      0.540    0.021   25.129    0.000    1.172    0.519

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           1.082    0.137    7.878    0.000    1.082    0.328

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           5.097    0.059   86.586    0.000    5.097    2.032
   .imueclt           5.002    0.064   78.633    0.000    5.002    1.902
   .imtcjob           5.271    0.054   96.863    0.000    5.271    2.280
   .rlgueim           5.592    0.054  103.308    0.000    5.592    2.477
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           1.587    0.146   10.863    0.000    1.587    0.252
   .imueclt           2.927    0.178   16.447    0.000    2.927    0.423
   .imtcjob           3.006    0.148   20.332    0.000    3.006    0.562
   .rlgueim           3.724    0.159   23.454    0.000    3.724    0.731
    PerceivedThret    4.707    0.199   23.624    0.000    1.000    1.000

Fixed factor method

Note! Only in one group does the variance of the latent factor for model identification have to be fixed at 1. In the other groups, factor variance is freely estimated.

perceived_threat_fit_metric2 <- cfa(
   model = "
    group: [CZ]
    PerceivedThreat =~ NA*imbgeco + a*imbgeco + b*imueclt + c*imtcjob + d*rlgueim
    imueclt ~~ rlgueim
    PerceivedThreat ~~ 1*PerceivedThreat
    
    group: [DE]
    PerceivedThreat =~ NA*imbgeco + a*imbgeco + b*imueclt + c*imtcjob + d*rlgueim
    imueclt ~~ rlgueim
    PerceivedThreat ~~ NA*PerceivedThreat
    
    group: [GB]
    PerceivedThreat =~ NA*imbgeco + a*imbgeco + b*imueclt + c*imtcjob + d*rlgueim
    imueclt ~~ rlgueim
    PerceivedThreat ~~ NA*PerceivedThreat
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = perceived_threat_fit_metric2,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 85 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        41
  Number of equality constraints                     8

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                70.959      52.609
  Degrees of freedom                                 9           9
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.349
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                          11.938       8.851
    DE                                          34.814      25.811
    GB                                          24.207      17.947

Model Test Baseline Model:

  Test statistic                              7153.396    4187.890
  Degrees of freedom                                18          18
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.708

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.991       0.990
  Tucker-Lewis Index (TLI)                       0.983       0.979
                                                                  
  Robust Comparative Fit Index (CFI)                         0.992
  Robust Tucker-Lewis Index (TLI)                            0.983

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -48359.681  -48359.681
  Scaling correction factor                                  1.026
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -48324.201  -48324.201
  Scaling correction factor                                  1.290
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               96785.361   96785.361
  Bayesian (BIC)                             97005.576   97005.576
  Sample-size adjusted Bayesian (BIC)        96900.711   96900.711

Root Mean Square Error of Approximation:

  RMSEA                                          0.059       0.050
  90 Percent confidence interval - lower         0.047       0.039
  90 Percent confidence interval - upper         0.073       0.061
  P-value RMSEA <= 0.05                          0.102       0.483
                                                                  
  Robust RMSEA                                               0.058
  90 Percent confidence interval - lower                     0.043
  90 Percent confidence interval - upper                     0.074

Standardized Root Mean Square Residual:

  SRMR                                           0.021       0.021

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco    (a)      1.692    0.046   36.614    0.000    1.692    0.809
    imueclt    (b)      1.557    0.044   35.582    0.000    1.557    0.763
    imtcjob    (c)      1.192    0.039   30.448    0.000    1.192    0.576
    rlgueim    (d)      0.914    0.037   24.895    0.000    0.914    0.456

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.416    0.115    3.622    0.000    0.416    0.177

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           6.317    0.056  113.018    0.000    6.317    3.021
   .imueclt           6.115    0.054  112.277    0.000    6.115    2.996
   .imtcjob           6.556    0.056  116.518    0.000    6.556    3.166
   .rlgueim           6.042    0.053  113.304    0.000    6.042    3.017
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    PerceivedThret    1.000                               1.000    1.000
   .imbgeco           1.511    0.138   10.933    0.000    1.511    0.346
   .imueclt           1.741    0.136   12.817    0.000    1.741    0.418
   .imtcjob           2.867    0.147   19.475    0.000    2.867    0.669
   .rlgueim           3.175    0.169   18.809    0.000    3.175    0.792


Group 2 [DE]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco    (a)      1.692    0.046   36.614    0.000    1.881    0.819
    imueclt    (b)      1.557    0.044   35.582    0.000    1.731    0.725
    imtcjob    (c)      1.192    0.039   30.448    0.000    1.326    0.646
    rlgueim    (d)      0.914    0.037   24.895    0.000    1.016    0.488

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.910    0.091    9.972    0.000    0.910    0.304

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           4.203    0.045   93.648    0.000    4.203    1.830
   .imueclt           3.752    0.046   82.188    0.000    3.752    1.570
   .imtcjob           4.417    0.040  111.454    0.000    4.417    2.153
   .rlgueim           4.758    0.040  118.646    0.000    4.758    2.285
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    PerceivedThret    1.236    0.076   16.158    0.000    1.000    1.000
   .imbgeco           1.738    0.124   14.054    0.000    1.738    0.329
   .imueclt           2.712    0.120   22.574    0.000    2.712    0.475
   .imtcjob           2.451    0.108   22.697    0.000    2.451    0.582
   .rlgueim           3.304    0.112   29.462    0.000    3.304    0.762


Group 3 [GB]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco    (a)      1.692    0.046   36.614    0.000    2.170    0.865
    imueclt    (b)      1.557    0.044   35.582    0.000    1.997    0.759
    imtcjob    (c)      1.192    0.039   30.448    0.000    1.529    0.662
    rlgueim    (d)      0.914    0.037   24.895    0.000    1.172    0.519

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           1.082    0.137    7.878    0.000    1.082    0.328

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           5.097    0.059   86.586    0.000    5.097    2.032
   .imueclt           5.002    0.064   78.633    0.000    5.002    1.902
   .imtcjob           5.271    0.054   96.863    0.000    5.271    2.280
   .rlgueim           5.592    0.054  103.308    0.000    5.592    2.477
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    PerceivedThret    1.645    0.103   15.985    0.000    1.000    1.000
   .imbgeco           1.587    0.146   10.863    0.000    1.587    0.252
   .imueclt           2.927    0.178   16.447    0.000    2.927    0.423
   .imtcjob           3.006    0.148   20.332    0.000    3.006    0.562
   .rlgueim           3.724    0.159   23.454    0.000    3.724    0.731

Scalar invariance

Reference indicator method

perceived_threat_fit_scalar <- cfa(
  model = "
    PerceivedThreat =~ imbgeco + imueclt + imtcjob + rlgueim
    imueclt ~~ rlgueim
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  group.equal = c("loadings", "intercepts"),
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = perceived_threat_fit_scalar,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 94 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        41
  Number of equality constraints                    14

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               186.745     152.536
  Degrees of freedom                                15          15
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.224
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                          53.132      43.399
    DE                                          84.211      68.785
    GB                                          49.401      40.352

Model Test Baseline Model:

  Test statistic                              7153.396    4187.890
  Degrees of freedom                                18          18
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.708

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.976       0.967
  Tucker-Lewis Index (TLI)                       0.971       0.960
                                                                  
  Robust Comparative Fit Index (CFI)                         0.976
  Robust Tucker-Lewis Index (TLI)                            0.972

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -48417.573  -48417.573
  Scaling correction factor                                  0.874
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -48324.201  -48324.201
  Scaling correction factor                                  1.290
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               96889.147   96889.147
  Bayesian (BIC)                             97069.322   97069.322
  Sample-size adjusted Bayesian (BIC)        96983.524   96983.524

Root Mean Square Error of Approximation:

  RMSEA                                          0.077       0.069
  90 Percent confidence interval - lower         0.067       0.060
  90 Percent confidence interval - upper         0.087       0.078
  P-value RMSEA <= 0.05                          0.000       0.000
                                                                  
  Robust RMSEA                                               0.076
  90 Percent confidence interval - lower                     0.065
  90 Percent confidence interval - upper                     0.087

Standardized Root Mean Square Residual:

  SRMR                                           0.036       0.036

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.000                               1.605    0.777
    imueclt (.p2.)      0.997    0.017   57.591    0.000    1.600    0.781
    imtcjob (.p3.)      0.791    0.016   48.828    0.000    1.269    0.599
    rlgueim (.p4.)      0.580    0.018   32.967    0.000    0.931    0.465

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.346    0.112    3.080    0.002    0.346    0.153

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco (.11.)    6.406    0.052  124.065    0.000    6.406    3.099
   .imueclt (.12.)    6.118    0.052  117.079    0.000    6.118    2.989
   .imtcjob (.13.)    6.313    0.051  124.705    0.000    6.313    2.977
   .rlgueim (.14.)    6.143    0.042  145.575    0.000    6.143    3.068
    PrcvdTh           0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           1.696    0.129   13.140    0.000    1.696    0.397
   .imueclt           1.631    0.136   11.993    0.000    1.631    0.389
   .imtcjob           2.886    0.154   18.712    0.000    2.886    0.642
   .rlgueim           3.141    0.170   18.515    0.000    3.141    0.784
    PerceivedThret    2.576    0.135   19.012    0.000    1.000    1.000


Group 2 [DE]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.000                               1.773    0.783
    imueclt (.p2.)      0.997    0.017   57.591    0.000    1.767    0.737
    imtcjob (.p3.)      0.791    0.016   48.828    0.000    1.402    0.672
    rlgueim (.p4.)      0.580    0.018   32.967    0.000    1.029    0.495

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.850    0.090    9.433    0.000    0.850    0.290

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco (.11.)    6.406    0.052  124.065    0.000    6.406    2.829
   .imueclt (.12.)    6.118    0.052  117.079    0.000    6.118    2.550
   .imtcjob (.13.)    6.313    0.051  124.705    0.000    6.313    3.026
   .rlgueim (.14.)    6.143    0.042  145.575    0.000    6.143    2.955
    PrcvdTh          -2.306    0.063  -36.423    0.000   -1.301   -1.301

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           1.984    0.112   17.714    0.000    1.984    0.387
   .imueclt           2.634    0.120   21.979    0.000    2.634    0.458
   .imtcjob           2.385    0.110   21.684    0.000    2.385    0.548
   .rlgueim           3.262    0.111   29.252    0.000    3.262    0.755
    PerceivedThret    3.143    0.143   22.048    0.000    1.000    1.000


Group 3 [GB]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.000                               2.066    0.835
    imueclt (.p2.)      0.997    0.017   57.591    0.000    2.059    0.776
    imtcjob (.p3.)      0.791    0.016   48.828    0.000    1.634    0.692
    rlgueim (.p4.)      0.580    0.018   32.967    0.000    1.199    0.529

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           1.008    0.131    7.666    0.000    1.008    0.314

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco (.11.)    6.406    0.052  124.065    0.000    6.406    2.590
   .imueclt (.12.)    6.118    0.052  117.079    0.000    6.118    2.306
   .imtcjob (.13.)    6.313    0.051  124.705    0.000    6.313    2.674
   .rlgueim (.14.)    6.143    0.042  145.575    0.000    6.143    2.712
    PrcvdTh          -1.243    0.074  -16.759    0.000   -0.601   -0.601

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           1.849    0.132   14.012    0.000    1.849    0.302
   .imueclt           2.796    0.168   16.596    0.000    2.796    0.397
   .imtcjob           2.903    0.148   19.592    0.000    2.903    0.521
   .rlgueim           3.692    0.154   24.014    0.000    3.692    0.720
    PerceivedThret    4.269    0.183   23.337    0.000    1.000    1.000

Fixed factor method

Note! Only in one group does the variance and the intercept of the latent factor for model identification have to be fixed at 1 and 0, respectively. In the other groups, factor variance and intercept is freely estimated.

perceived_threat_fit_scalar2 <- cfa(
  model = "
    group: [CZ]
    PerceivedThreat =~ NA*imbgeco + a*imbgeco + b*imueclt + c*imtcjob + d*rlgueim
    imueclt ~~ rlgueim
    imbgeco ~ e*1
    imueclt ~ f*1
    imtcjob ~ g*1
    rlgueim ~ h*1
    PerceivedThreat ~ 0*1
    PerceivedThreat ~~ 1*PerceivedThreat
    
    group: [DE]
    PerceivedThreat =~ NA*imbgeco + a*imbgeco + b*imueclt + c*imtcjob + d*rlgueim
    imueclt ~~ rlgueim
    imbgeco ~ e*1
    imueclt ~ f*1
    imtcjob ~ g*1
    rlgueim ~ h*1
    PerceivedThreat ~ NA*1
    PerceivedThreat ~~ NA*PerceivedThreat
    
    group: [GB]
    PerceivedThreat =~ NA*imbgeco + a*imbgeco + b*imueclt + c*imtcjob + d*rlgueim
    imueclt ~~ rlgueim
    imbgeco ~ e*1
    imueclt ~ f*1
    imtcjob ~ g*1
    rlgueim ~ h*1
    PerceivedThreat ~ NA*1
    PerceivedThreat ~~ NA*PerceivedThreat
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = perceived_threat_fit_scalar2,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 82 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        43
  Number of equality constraints                    16

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               186.745     152.536
  Degrees of freedom                                15          15
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.224
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                          53.133      43.399
    DE                                          84.211      68.785
    GB                                          49.401      40.351

Model Test Baseline Model:

  Test statistic                              7153.396    4187.890
  Degrees of freedom                                18          18
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.708

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.976       0.967
  Tucker-Lewis Index (TLI)                       0.971       0.960
                                                                  
  Robust Comparative Fit Index (CFI)                         0.976
  Robust Tucker-Lewis Index (TLI)                            0.972

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -48417.573  -48417.573
  Scaling correction factor                                  0.833
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -48324.201  -48324.201
  Scaling correction factor                                  1.290
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               96889.147   96889.147
  Bayesian (BIC)                             97069.322   97069.322
  Sample-size adjusted Bayesian (BIC)        96983.524   96983.524

Root Mean Square Error of Approximation:

  RMSEA                                          0.077       0.069
  90 Percent confidence interval - lower         0.067       0.060
  90 Percent confidence interval - upper         0.087       0.078
  P-value RMSEA <= 0.05                          0.000       0.000
                                                                  
  Robust RMSEA                                               0.076
  90 Percent confidence interval - lower                     0.065
  90 Percent confidence interval - upper                     0.087

Standardized Root Mean Square Residual:

  SRMR                                           0.036       0.036

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco    (a)      1.605    0.042   38.023    0.000    1.605    0.777
    imueclt    (b)      1.600    0.043   37.311    0.000    1.600    0.781
    imtcjob    (c)      1.269    0.038   33.396    0.000    1.269    0.599
    rlgueim    (d)      0.931    0.033   27.877    0.000    0.931    0.465

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.346    0.112    3.080    0.002    0.346    0.153

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco    (e)    6.406    0.052  124.065    0.000    6.406    3.099
   .imueclt    (f)    6.118    0.052  117.079    0.000    6.118    2.989
   .imtcjob    (g)    6.313    0.051  124.705    0.000    6.313    2.977
   .rlgueim    (h)    6.143    0.042  145.575    0.000    6.143    3.068
    PercvdThrt        0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    PerceivedThret    1.000                               1.000    1.000
   .imbgeco           1.696    0.129   13.140    0.000    1.696    0.397
   .imueclt           1.631    0.136   11.993    0.000    1.631    0.389
   .imtcjob           2.886    0.154   18.712    0.000    2.886    0.642
   .rlgueim           3.141    0.170   18.515    0.000    3.141    0.784


Group 2 [DE]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco    (a)      1.605    0.042   38.023    0.000    1.773    0.783
    imueclt    (b)      1.600    0.043   37.311    0.000    1.767    0.737
    imtcjob    (c)      1.269    0.038   33.396    0.000    1.402    0.672
    rlgueim    (d)      0.931    0.033   27.877    0.000    1.029    0.495

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.850    0.090    9.433    0.000    0.850    0.290

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco    (e)    6.406    0.052  124.065    0.000    6.406    2.829
   .imueclt    (f)    6.118    0.052  117.079    0.000    6.118    2.550
   .imtcjob    (g)    6.313    0.051  124.705    0.000    6.313    3.026
   .rlgueim    (h)    6.143    0.042  145.575    0.000    6.143    2.955
    PercvdThrt       -1.437    0.051  -28.384    0.000   -1.301   -1.301

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    PerceivedThret    1.220    0.077   15.862    0.000    1.000    1.000
   .imbgeco           1.984    0.112   17.714    0.000    1.984    0.387
   .imueclt           2.633    0.120   21.979    0.000    2.633    0.458
   .imtcjob           2.385    0.110   21.684    0.000    2.385    0.548
   .rlgueim           3.262    0.111   29.252    0.000    3.262    0.755


Group 3 [GB]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco    (a)      1.605    0.042   38.023    0.000    2.066    0.835
    imueclt    (b)      1.600    0.043   37.311    0.000    2.059    0.776
    imtcjob    (c)      1.269    0.038   33.396    0.000    1.634    0.692
    rlgueim    (d)      0.931    0.033   27.877    0.000    1.199    0.529

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           1.008    0.131    7.666    0.000    1.008    0.314

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco    (e)    6.406    0.052  124.065    0.000    6.406    2.590
   .imueclt    (f)    6.118    0.052  117.079    0.000    6.118    2.306
   .imtcjob    (g)    6.313    0.051  124.705    0.000    6.313    2.674
   .rlgueim    (h)    6.143    0.042  145.575    0.000    6.143    2.712
    PercvdThrt       -0.774    0.048  -16.100    0.000   -0.601   -0.601

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    PerceivedThret    1.657    0.105   15.771    0.000    1.000    1.000
   .imbgeco           1.849    0.132   14.012    0.000    1.849    0.302
   .imueclt           2.796    0.168   16.596    0.000    2.796    0.397
   .imtcjob           2.903    0.148   19.592    0.000    2.903    0.521
   .rlgueim           3.692    0.154   24.014    0.000    3.692    0.720

Comparing fit statistics

compFit.perceived_threat <- compareFit(
  scalar = perceived_threat_fit_scalar,
  metric = perceived_threat_fit_metric,
  config = perceived_threat_fit_config,
  argsLRT = list(method = "satorra.bentler.2001")
)
summary(
  object = compFit.perceived_threat, 
  fit.measures = c("chisq.scaled", "df.scaled", "pvalue.scaled", 
                   "rmsea.scaled", "cfi.scaled", "tli.scaled",
                   "srmr", "aic", "bic")
  ) 
################### Nested Model Comparison #########################
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")

lavaan NOTE:
    The "Chisq" column contains standard test statistics, not the
    robust test that should be reported per model. A robust difference
    test is a function of two standard (not robust) statistics.
 
       Df   AIC   BIC   Chisq Chisq diff Df diff Pr(>Chisq)    
config  3 96778 97038  51.626                                  
metric  9 96785 97006  70.959     15.303       6    0.01803 *  
scalar 15 96889 97069 186.745    111.602       6    < 2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

####################### Model Fit Indices ###########################
       chisq.scaled df.scaled pvalue.scaled rmsea.scaled cfi.scaled tli.scaled
config      33.973†         3          .000        .073       .993†      .955 
metric      52.609          9          .000        .050†      .990       .979†
scalar     152.536         15          .000        .069       .967       .960 
        srmr        aic        bic
config .014† 96778.028† 97038.282 
metric .021  96785.361  97005.576†
scalar .036  96889.147  97069.322 

################## Differences in Fit Indices #######################
                df.scaled rmsea.scaled cfi.scaled tli.scaled  srmr     aic
metric - config         6       -0.023     -0.003      0.024 0.007   7.333
scalar - metric         6        0.019     -0.023     -0.019 0.015 103.786
                    bic
metric - config -32.706
scalar - metric  63.747

Fixed factor method

compFit.perceived_threat2 <- compareFit(
  scalar = perceived_threat_fit_scalar2,
  metric = perceived_threat_fit_metric2,
  config = perceived_threat_fit_config2,
  argsLRT = list(method = "satorra.bentler.2001")
)
summary(
  object = compFit.perceived_threat2, 
  fit.measures = c("chisq.scaled", "df.scaled", "pvalue.scaled", 
                   "rmsea.scaled", "cfi.scaled", "tli.scaled",
                   "srmr", "aic", "bic")
  ) 
################### Nested Model Comparison #########################
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")

lavaan NOTE:
    The "Chisq" column contains standard test statistics, not the
    robust test that should be reported per model. A robust difference
    test is a function of two standard (not robust) statistics.
 
       Df   AIC   BIC   Chisq Chisq diff Df diff Pr(>Chisq)    
config  3 96778 97038  51.626                                  
metric  9 96785 97006  70.959     15.303       6    0.01803 *  
scalar 15 96889 97069 186.745    111.602       6    < 2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

####################### Model Fit Indices ###########################
       chisq.scaled df.scaled pvalue.scaled rmsea.scaled cfi.scaled tli.scaled
config      33.973†         3          .000        .073       .993†      .955 
metric      52.609          9          .000        .050†      .990       .979†
scalar     152.536         15          .000        .069       .967       .960 
        srmr        aic        bic
config .014† 96778.028† 97038.282 
metric .021  96785.361  97005.576†
scalar .036  96889.147  97069.322 

################## Differences in Fit Indices #######################
                df.scaled rmsea.scaled cfi.scaled tli.scaled  srmr     aic
metric - config         6       -0.023     -0.003      0.024 0.007   7.333
scalar - metric         6        0.019     -0.023     -0.019 0.015 103.786
                    bic
metric - config -32.706
scalar - metric  63.747

Partial measurement invariance

Partial measurement invariance Byrne, Shavelson, and Muthén (1989)

  • In contrast to “full” MI only a few parameters are kept invariant
  • Two indicators with invariant loadings and intercepts are sufficient for valid latent mean comparisons
    • Step 1: identify misspecified equality constraints and relax them (-> modification indices)
    • Step 2: re-estimate and compare with the previous (full) MI models

Partial MI - Universalism

Since we only calculate three factor loadings in our measurement model and we only have a partial measurement invariance if two factor loadings are measurement invariant, we have to use the fixed factor method to calculate all factor loadings.

  • The lavTestScore command contains the score test results informing about which contraints are troublesome
  • The command parTable tells us which labels are used for each parameter of the model
universalism_fit_metric2 %>% 
  lavTestScore() %>% 
  # optional for better display 
  export_table(table_width = 1, digits = 2)
test  |    X2 | df |  p.value
-----------------------------
score | 21.03 |  6 | 1.81e-03

lhs  | op |   rhs |    X2 | df |  p.value
-----------------------------------------
.p1. | == | .p12. |  0.13 |  1 |     0.72
.p1. | == | .p23. |  0.07 |  1 |     0.79
.p2. | == | .p13. |  1.04 |  1 |     0.31
.p2. | == | .p24. | 13.75 |  1 | 2.09e-04
.p3. | == | .p14. |  0.37 |  1 |     0.54
.p3. | == | .p25. | 14.47 |  1 | 1.42e-04
  • Total score test: \(\chi^2\) reduction if all constraints were removed
  • Univariate score tests: \(\chi^2\) reduction for removing a single constraint

.p3. == .p25. -> Constraint with the largest \(\chi^2\) reduction

What do the parameter labels (.p3. & .p25.) mean?

universalism_fit_metric2 %>% 
  parTable() %>% 
  select(lhs, op, rhs, group, label, plabel, est, se) %>% 
  # optional for better display 
  export_table(table_width = 1, digits = 2)
lhs     | op |     rhs | group | label | plabel |      est |   se
-----------------------------------------------------------------
uni     | =~ | ipeqopt |  [CZ] |     a |   .p1. |     0.62 | 0.03
uni     | =~ | ipudrst |  [CZ] |     b |   .p2. |     0.64 | 0.03
uni     | =~ |  impenv |  [CZ] |     c |   .p3. |     0.57 | 0.03
uni     | ~~ |     uni |  [CZ] |       |   .p4. |     1.00 | 0.00
ipeqopt | ~~ | ipeqopt |  [CZ] |       |   .p5. |     0.75 | 0.05
ipudrst | ~~ | ipudrst |  [CZ] |       |   .p6. |     0.81 | 0.05
impenv  | ~~ |  impenv |  [CZ] |       |   .p7. |     0.75 | 0.04
ipeqopt | ~1 |         |  [CZ] |       |   .p8. |     4.54 | 0.03
ipudrst | ~1 |         |  [CZ] |       |   .p9. |     4.25 | 0.03
impenv  | ~1 |         |  [CZ] |       |  .p10. |     4.69 | 0.03
uni     | ~1 |         |  [CZ] |       |  .p11. |     0.00 | 0.00
uni     | =~ | ipeqopt |  [DE] |     a |  .p12. |     0.62 | 0.03
uni     | =~ | ipudrst |  [DE] |     b |  .p13. |     0.64 | 0.03
uni     | =~ |  impenv |  [DE] |     c |  .p14. |     0.57 | 0.03
uni     | ~~ |     uni |  [DE] |       |  .p15. |     0.60 | 0.06
ipeqopt | ~~ | ipeqopt |  [DE] |       |  .p16. |     0.68 | 0.04
ipudrst | ~~ | ipudrst |  [DE] |       |  .p17. |     0.53 | 0.03
impenv  | ~~ |  impenv |  [DE] |       |  .p18. |     0.71 | 0.03
ipeqopt | ~1 |         |  [DE] |       |  .p19. |     5.13 | 0.02
ipudrst | ~1 |         |  [DE] |       |  .p20. |     4.96 | 0.02
impenv  | ~1 |         |  [DE] |       |  .p21. |     5.00 | 0.02
uni     | ~1 |         |  [DE] |       |  .p22. |     0.00 | 0.00
uni     | =~ | ipeqopt |  [GB] |     a |  .p23. |     0.62 | 0.03
uni     | =~ | ipudrst |  [GB] |     b |  .p24. |     0.64 | 0.03
uni     | =~ |  impenv |  [GB] |     c |  .p25. |     0.57 | 0.03
uni     | ~~ |     uni |  [GB] |       |  .p26. |     0.87 | 0.10
ipeqopt | ~~ | ipeqopt |  [GB] |       |  .p27. |     0.78 | 0.05
ipudrst | ~~ | ipudrst |  [GB] |       |  .p28. |     0.73 | 0.05
impenv  | ~~ |  impenv |  [GB] |       |  .p29. |     0.93 | 0.04
ipeqopt | ~1 |         |  [GB] |       |  .p30. |     4.99 | 0.03
ipudrst | ~1 |         |  [GB] |       |  .p31. |     4.72 | 0.03
impenv  | ~1 |         |  [GB] |       |  .p32. |     4.85 | 0.03
uni     | ~1 |         |  [GB] |       |  .p33. |     0.00 | 0.00
.p1.    | == |   .p12. |       |       |        |     0.00 | 0.00
.p1.    | == |   .p23. |       |       |        | 1.11e-16 | 0.00
.p2.    | == |   .p13. |       |       |        |     0.00 | 0.00
.p2.    | == |   .p24. |       |       |        | 3.33e-16 | 0.00
.p3.    | == |   .p14. |       |       |        |     0.00 | 0.00
.p3.    | == |   .p25. |       |       |        | 3.33e-16 | 0.00

Obviously, we achieve the largest \(\chi^2\) reduction in the metric invariance model by freely calculating the factor loading of item impenv, because there is a clear difference between group CZ and GB.

Partial metric invariance

Note! Only in one group does the variance of the latent factor for model identification have to be fixed at 1. In the other groups, factor variance is freely estimated.

universalism_fit_metric_partial <- cfa(
    model = "
    group: [CZ]
    uni =~ NA*ipeqopt + a*ipeqopt + b*ipudrst + NA*impenv
    uni ~~ 1*uni
    group: [DE]
    uni =~ NA*ipeqopt + a*ipeqopt + b*ipudrst + c*impenv
    uni ~~ NA*uni
    group: [GB]
    uni =~ NA*ipeqopt + a*ipeqopt + b*ipudrst + NA*impenv
    uni ~~ NA*uni
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  universalism_fit_metric_partial,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 56 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        29
  Number of equality constraints                     4

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 4.421       3.392
  Degrees of freedom                                 2           2
  P-value (Chi-square)                           0.110       0.183
  Scaling correction factor                                  1.303
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                           0.727       0.557
    DE                                           0.421       0.323
    GB                                           3.273       2.511

Model Test Baseline Model:

  Test statistic                              1289.722     877.559
  Degrees of freedom                                 9           9
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.470

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.998       0.998
  Tucker-Lewis Index (TLI)                       0.991       0.993
                                                                  
  Robust Comparative Fit Index (CFI)                         0.999
  Robust Tucker-Lewis Index (TLI)                            0.994

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -24251.888  -24251.888
  Scaling correction factor                                  1.153
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -24249.678  -24249.678
  Scaling correction factor                                  1.335
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               48553.776   48553.776
  Bayesian (BIC)                             48720.605   48720.605
  Sample-size adjusted Bayesian (BIC)        48641.162   48641.162

Root Mean Square Error of Approximation:

  RMSEA                                          0.025       0.019
  90 Percent confidence interval - lower         0.000       0.000
  90 Percent confidence interval - upper         0.057       0.048
  P-value RMSEA <= 0.05                          0.888       0.961
                                                                  
  Robust RMSEA                                               0.022
  90 Percent confidence interval - lower                     0.000
  90 Percent confidence interval - upper                     0.060

Standardized Root Mean Square Residual:

  SRMR                                           0.008       0.008

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt    (a)    0.580    0.036   16.323    0.000    0.580    0.549
    ipudrst    (b)    0.596    0.036   16.538    0.000    0.596    0.544
    impenv            0.656    0.046   14.229    0.000    0.656    0.625

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.538    0.028  159.514    0.000    4.538    4.293
   .ipudrst           4.252    0.029  145.438    0.000    4.252    3.879
   .impenv            4.688    0.028  166.708    0.000    4.688    4.467
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    uni               1.000                               1.000    1.000
   .ipeqopt           0.781    0.055   14.310    0.000    0.781    0.699
   .ipudrst           0.847    0.053   16.015    0.000    0.847    0.704
   .impenv            0.672    0.056   11.973    0.000    0.672    0.610


Group 2 [DE]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt    (a)    0.580    0.036   16.323    0.000    0.475    0.498
    ipudrst    (b)    0.596    0.036   16.538    0.000    0.488    0.554
    impenv     (c)    0.548    0.056    9.862    0.000    0.449    0.472

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           5.126    0.019  276.841    0.000    5.126    5.367
   .ipudrst           4.961    0.017  291.447    0.000    4.961    5.629
   .impenv            4.996    0.018  271.054    0.000    4.996    5.245
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    uni               0.672    0.090    7.448    0.000    1.000    1.000
   .ipeqopt           0.686    0.040   17.221    0.000    0.686    0.752
   .ipudrst           0.538    0.032   16.906    0.000    0.538    0.693
   .impenv            0.706    0.034   20.755    0.000    0.706    0.778


Group 3 [GB]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt    (a)    0.580    0.036   16.323    0.000    0.621    0.585
    ipudrst    (b)    0.596    0.036   16.538    0.000    0.639    0.609
    impenv            0.404    0.046    8.772    0.000    0.433    0.400

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.994    0.025  199.417    0.000    4.994    4.699
   .ipudrst           4.716    0.025  188.538    0.000    4.716    4.494
   .impenv            4.849    0.026  188.959    0.000    4.849    4.479
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    uni               1.148    0.153    7.485    0.000    1.000    1.000
   .ipeqopt           0.743    0.049   15.251    0.000    0.743    0.658
   .ipudrst           0.693    0.047   14.757    0.000    0.693    0.630
   .impenv            0.984    0.044   22.427    0.000    0.984    0.840

Comparing fit statistics

Now we want to see if there is a partial metric measurement invariance after the free computation of impenv.

compFit.universalism2 <- compareFit(
  # scalar = universalism_fit_scalar2,
  metric = universalism_fit_metric_partial,
  config = universalism_fit_config2,
  argsLRT = list(method = "satorra.bentler.2001")
)
summary(
  object = compFit.universalism2, 
  fit.measures = c("chisq.scaled", "df.scaled", "pvalue.scaled", 
                   "rmsea.scaled", "cfi.scaled", "tli.scaled",
                   "srmr", "aic", "bic")
  ) 
################### Nested Model Comparison #########################
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")

lavaan NOTE:
    The "Chisq" column contains standard test statistics, not the
    robust test that should be reported per model. A robust difference
    test is a function of two standard (not robust) statistics.
 
       Df   AIC   BIC  Chisq Chisq diff Df diff Pr(>Chisq)
config  0 48553 48734 0.0000                              
metric  2 48554 48721 4.4206     3.3917       2     0.1834

####################### Model Fit Indices ###########################
       chisq.scaled df.scaled pvalue.scaled rmsea.scaled cfi.scaled tli.scaled
config        .000†                      NA        .000†     1.000†     1.000†
metric       3.392          2          .183        .019      0.998       .993 
        srmr        aic        bic
config .000† 48553.355† 48733.531 
metric .008  48553.776  48720.605†

################## Differences in Fit Indices #######################
                df.scaled rmsea.scaled cfi.scaled tli.scaled  srmr   aic
metric - config         2        0.019     -0.002     -0.007 0.008 0.421
                    bic
metric - config -12.926

In fact, there is a partial metric measurement invariance, since both the strict \(\chi^2\) difference test is insignificant and the alternative fit measures CFI and RMSEA are below their cut off.

Partial scalar invariance

Since two variables must be completely invariant in order to be able to speak of partial measurement invariance, we can only let impenv freely calculate the intercepts here.

Note! Only in one group does the variance and the intercept of the latent factor for model identification have to be fixed at 1 and 0, respectively. In the other groups, factor variance and intercept is freely estimated.

universalism_fit_scalar_partial <- cfa(
    model = "
    group: [CZ]
    uni =~ NA*ipeqopt + a*ipeqopt + b*ipudrst + NA*impenv
    ipeqopt ~ d*1
    ipudrst ~ e*1
    impenv ~ NA*1
    uni ~ 0*1
    uni ~~ 1*uni
    
    group: [DE]
    uni =~ NA*ipeqopt + a*ipeqopt + b*ipudrst + c*impenv
    ipeqopt ~ d*1
    ipudrst ~ e*1
    impenv ~ f*1
    uni ~ NA*1
    uni ~~ NA*uni
    
    group: [GB]
    uni =~ NA*ipeqopt + a*ipeqopt + b*ipudrst + NA*impenv
    ipeqopt ~ d*1
    ipudrst ~ e*1
    impenv ~ NA*1
    uni ~ NA*1
    uni ~~ NA*uni
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = universalism_fit_scalar_partial,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 63 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        31
  Number of equality constraints                     8

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                13.266      11.028
  Degrees of freedom                                 4           4
  P-value (Chi-square)                           0.010       0.026
  Scaling correction factor                                  1.203
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                           2.958       2.459
    DE                                           5.203       4.325
    GB                                           5.105       4.243

Model Test Baseline Model:

  Test statistic                              1289.722     877.559
  Degrees of freedom                                 9           9
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.470

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.993       0.992
  Tucker-Lewis Index (TLI)                       0.984       0.982
                                                                  
  Robust Comparative Fit Index (CFI)                         0.993
  Robust Tucker-Lewis Index (TLI)                            0.985

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -24256.311  -24256.311
  Scaling correction factor                                  1.007
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -24249.678  -24249.678
  Scaling correction factor                                  1.335
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               48558.621   48558.621
  Bayesian (BIC)                             48712.104   48712.104
  Sample-size adjusted Bayesian (BIC)        48639.017   48639.017

Root Mean Square Error of Approximation:

  RMSEA                                          0.034       0.030
  90 Percent confidence interval - lower         0.015       0.011
  90 Percent confidence interval - upper         0.056       0.050
  P-value RMSEA <= 0.05                          0.875       0.951
                                                                  
  Robust RMSEA                                               0.033
  90 Percent confidence interval - lower                     0.010
  90 Percent confidence interval - upper                     0.057

Standardized Root Mean Square Residual:

  SRMR                                           0.014       0.014

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt    (a)    0.557    0.032   17.635    0.000    0.557    0.530
    ipudrst    (b)    0.617    0.034   18.036    0.000    0.617    0.560
    impenv            0.654    0.046   14.108    0.000    0.654    0.623

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt    (d)    4.529    0.026  174.653    0.000    4.529    4.305
   .ipudrst    (e)    4.260    0.028  152.649    0.000    4.260    3.870
   .impenv            4.688    0.028  166.708    0.000    4.688    4.467
    uni               0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    uni               1.000                               1.000    1.000
   .ipeqopt           0.797    0.050   15.880    0.000    0.797    0.720
   .ipudrst           0.831    0.052   15.953    0.000    0.831    0.686
   .impenv            0.674    0.056   11.936    0.000    0.674    0.611


Group 2 [DE]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt    (a)    0.557    0.032   17.635    0.000    0.456    0.479
    ipudrst    (b)    0.617    0.034   18.036    0.000    0.505    0.572
    impenv     (c)    0.545    0.056    9.746    0.000    0.446    0.468

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt    (d)    4.529    0.026  174.653    0.000    4.529    4.752
   .ipudrst    (e)    4.260    0.028  152.649    0.000    4.260    4.824
   .impenv     (f)    4.391    0.062   70.616    0.000    4.391    4.609
    uni               1.111    0.071   15.628    0.000    1.357    1.357

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    uni               0.671    0.090    7.421    0.000    1.000    1.000
   .ipeqopt           0.700    0.040   17.625    0.000    0.700    0.771
   .ipudrst           0.525    0.033   16.035    0.000    0.525    0.673
   .impenv            0.708    0.034   20.745    0.000    0.708    0.781


Group 3 [GB]:

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  uni =~                                                                
    ipeqopt    (a)    0.557    0.032   17.635    0.000    0.599    0.564
    ipudrst    (b)    0.617    0.034   18.036    0.000    0.663    0.630
    impenv            0.404    0.046    8.804    0.000    0.434    0.401

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt    (d)    4.529    0.026  174.653    0.000    4.529    4.268
   .ipudrst    (e)    4.260    0.028  152.649    0.000    4.260    4.050
   .impenv            4.534    0.047   96.204    0.000    4.534    4.188
    uni               0.778    0.065   12.056    0.000    0.724    0.724

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    uni               1.154    0.155    7.462    0.000    1.000    1.000
   .ipeqopt           0.768    0.045   16.973    0.000    0.768    0.682
   .ipudrst           0.667    0.045   14.989    0.000    0.667    0.603
   .impenv            0.984    0.044   22.489    0.000    0.984    0.839

Comparing fit statistics

compFit.universalism3 <- compareFit(
  scalar = universalism_fit_scalar_partial,
  metric = universalism_fit_metric_partial,
  config = universalism_fit_config2,
  argsLRT = list(method = "satorra.bentler.2001")
)
summary(
  object = compFit.universalism3, 
  fit.measures = c("chisq.scaled", "df.scaled", "pvalue.scaled", 
                   "rmsea.scaled", "cfi.scaled", "tli.scaled",
                   "srmr", "aic", "bic")
  ) 
################### Nested Model Comparison #########################
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")

lavaan NOTE:
    The "Chisq" column contains standard test statistics, not the
    robust test that should be reported per model. A robust difference
    test is a function of two standard (not robust) statistics.
 
       Df   AIC   BIC   Chisq Chisq diff Df diff Pr(>Chisq)  
config  0 48553 48734  0.0000                                
metric  2 48554 48721  4.4206     3.3917       2    0.18345  
scalar  4 48559 48712 13.2661     8.0224       2    0.01811 *
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

####################### Model Fit Indices ###########################
       chisq.scaled df.scaled pvalue.scaled rmsea.scaled cfi.scaled tli.scaled
config        .000†                      NA        .000†     1.000†     1.000†
metric       3.392          2          .183        .019      0.998       .993 
scalar      11.028          4          .026        .030       .992       .982 
        srmr        aic        bic
config .000† 48553.355† 48733.531 
metric .008  48553.776  48720.605 
scalar .014  48558.621  48712.104†

################## Differences in Fit Indices #######################
                df.scaled rmsea.scaled cfi.scaled tli.scaled  srmr   aic
metric - config         2        0.019     -0.002     -0.007 0.008 0.421
scalar - metric         2        0.011     -0.006     -0.011 0.007 4.846
                    bic
metric - config -12.926
scalar - metric  -8.501

Finally, there is now a partial scalar measurement invariance. Although the stricter \(\chi^2\) difference test is insignificant, the CFI and RMSEA hardly deviate from the partially metric invariance model and thus fulfill the criteria according to Chen (2007). We can interpret the relative latent means as follows.

Result

So we can see that in relation to CZ the countries DE and GB have a significantly higher latent mean (see Intercepts uni).

Partial MI - Tradition/Conformity

Since we only calculate three factor loadings in our measurement model and we only have a partial measurement invariance if two factor loadings are measurement invariant, we have to use the fixed factor method to calculate all factor loadings.

tradition_conformity_fit_scalar %>% 
  lavTestScore() %>% 
  # optional for better display 
  export_table(table_width = 1, digits = 2)
test  |     X2 | df | p.value
-----------------------------
score | 155.63 | 10 |       0

lhs   | op |   rhs |    X2 | df |  p.value
------------------------------------------
.p2.  | == | .p13. |  1.19 |  1 |     0.27
.p2.  | == | .p24. |  3.84 |  1 |     0.05
.p3.  | == | .p14. |  2.35 |  1 |     0.13
.p3.  | == | .p25. | 12.14 |  1 | 4.95e-04
.p8.  | == | .p19. |  8.61 |  1 | 3.34e-03
.p8.  | == | .p30. |  0.19 |  1 |     0.66
.p9.  | == | .p20. | 13.73 |  1 | 2.11e-04
.p9.  | == | .p31. | 36.15 |  1 | 1.82e-09
.p10. | == | .p21. |  2.09 |  1 |     0.15
.p10. | == | .p32. | 45.44 |  1 | 1.58e-11

.p10. == .p32. -> Constraint with the largest \(\chi^2\) reduction

What do the parameter labels (.p10. & .p32.) mean?

tradition_conformity_fit_scalar %>% 
  parTable() %>% 
  select(lhs, op, rhs, group, label, plabel, est, se) %>% 
  # optional for better display 
  export_table(table_width = 1, digits = 2)
lhs                 | op |                 rhs | group | label | plabel |       est |   se
------------------------------------------------------------------------------------------
TraditionConformity | =~ |             imptrad |     1 |       |   .p1. |      1.00 | 0.00
TraditionConformity | =~ |             ipfrule |     1 |  .p2. |   .p2. |      1.48 | 0.09
TraditionConformity | =~ |             ipbhprp |     1 |  .p3. |   .p3. |      1.17 | 0.05
imptrad             | ~~ |             imptrad |     1 |       |   .p4. |      1.31 | 0.07
ipfrule             | ~~ |             ipfrule |     1 |       |   .p5. |      0.68 | 0.06
ipbhprp             | ~~ |             ipbhprp |     1 |       |   .p6. |      0.97 | 0.06
TraditionConformity | ~~ | TraditionConformity |     1 |       |   .p7. |      0.29 | 0.03
imptrad             | ~1 |                     |     1 |  .p8. |   .p8. |      4.48 | 0.03
ipfrule             | ~1 |                     |     1 |  .p9. |   .p9. |      4.20 | 0.04
ipbhprp             | ~1 |                     |     1 | .p10. |  .p10. |      4.63 | 0.02
TraditionConformity | ~1 |                     |     1 |       |  .p11. |      0.00 | 0.00
TraditionConformity | =~ |             imptrad |     2 |       |  .p12. |      1.00 | 0.00
TraditionConformity | =~ |             ipfrule |     2 |  .p2. |  .p13. |      1.48 | 0.09
TraditionConformity | =~ |             ipbhprp |     2 |  .p3. |  .p14. |      1.17 | 0.05
imptrad             | ~~ |             imptrad |     2 |       |  .p15. |      1.50 | 0.05
ipfrule             | ~~ |             ipfrule |     2 |       |  .p16. |      1.14 | 0.06
ipbhprp             | ~~ |             ipbhprp |     2 |       |  .p17. |      1.13 | 0.05
TraditionConformity | ~~ | TraditionConformity |     2 |       |  .p18. |      0.39 | 0.03
imptrad             | ~1 |                     |     2 |  .p8. |  .p19. |      4.48 | 0.03
ipfrule             | ~1 |                     |     2 |  .p9. |  .p20. |      4.20 | 0.04
ipbhprp             | ~1 |                     |     2 | .p10. |  .p21. |      4.63 | 0.02
TraditionConformity | ~1 |                     |     2 |       |  .p22. |     -0.49 | 0.03
TraditionConformity | =~ |             imptrad |     3 |       |  .p23. |      1.00 | 0.00
TraditionConformity | =~ |             ipfrule |     3 |  .p2. |  .p24. |      1.48 | 0.09
TraditionConformity | =~ |             ipbhprp |     3 |  .p3. |  .p25. |      1.17 | 0.05
imptrad             | ~~ |             imptrad |     3 |       |  .p26. |      1.62 | 0.06
ipfrule             | ~~ |             ipfrule |     3 |       |  .p27. |      1.18 | 0.07
ipbhprp             | ~~ |             ipbhprp |     3 |       |  .p28. |      1.07 | 0.05
TraditionConformity | ~~ | TraditionConformity |     3 |       |  .p29. |      0.42 | 0.04
imptrad             | ~1 |                     |     3 |  .p8. |  .p30. |      4.48 | 0.03
ipfrule             | ~1 |                     |     3 |  .p9. |  .p31. |      4.20 | 0.04
ipbhprp             | ~1 |                     |     3 | .p10. |  .p32. |      4.63 | 0.02
TraditionConformity | ~1 |                     |     3 |       |  .p33. |     -0.33 | 0.03
.p2.                | == |               .p13. |     0 |       |        |      0.00 | 0.00
.p2.                | == |               .p24. |     0 |       |        |  6.66e-16 | 0.00
.p3.                | == |               .p14. |     0 |       |        | -4.44e-16 | 0.00
.p3.                | == |               .p25. |     0 |       |        |  2.22e-16 | 0.00
.p8.                | == |               .p19. |     0 |       |        |      0.00 | 0.00
.p8.                | == |               .p30. |     0 |       |        |      0.00 | 0.00
.p9.                | == |               .p20. |     0 |       |        | -1.78e-15 | 0.00
.p9.                | == |               .p31. |     0 |       |        |  8.88e-16 | 0.00
.p10.               | == |               .p21. |     0 |       |        | -8.88e-16 | 0.00
.p10.               | == |               .p32. |     0 |       |        |      0.00 | 0.00

Partial scalar invariance

Note! Only in one group does the variance and the intercept of the latent factor for model identification have to be fixed at 1 and 0, respectively. In the other groups, factor variance and intercept is freely estimated.

tradition_conformity_fit_scalar_partial <- cfa(
  model = "
    group: [CZ]
    TraditionConformity =~ NA*imptrad + a*imptrad + b*ipfrule + c*ipbhprp
    imptrad ~ d*1
    ipfrule ~ e*1
    ipbhprp ~ NA*1
    TraditionConformity ~ 0*1
    TraditionConformity ~~ 1*TraditionConformity
    
    group: [DE]
    TraditionConformity =~ NA*imptrad + a*imptrad + b*ipfrule + c*ipbhprp
    imptrad ~ d*1
    ipfrule ~ e*1
    ipbhprp ~ f*1
    TraditionConformity ~ NA*1
    TraditionConformity ~~ NA*TraditionConformity
    
    group: [GB]
    TraditionConformity =~ NA*imptrad + a*imptrad + b*ipfrule + c*ipbhprp
    imptrad ~ d*1
    ipfrule ~ e*1
    ipbhprp ~ NA*1
    TraditionConformity ~ NA*1
    TraditionConformity ~~ NA*TraditionConformity
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = tradition_conformity_fit_scalar_partial,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 63 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        31
  Number of equality constraints                    10

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                48.657      43.508
  Degrees of freedom                                 6           6
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.118
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                          33.687      30.122
    DE                                           7.852       7.021
    GB                                           7.118       6.364

Model Test Baseline Model:

  Test statistic                              1721.409    1289.802
  Degrees of freedom                                 9           9
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.335

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.975       0.971
  Tucker-Lewis Index (TLI)                       0.963       0.956
                                                                  
  Robust Comparative Fit Index (CFI)                         0.975
  Robust Tucker-Lewis Index (TLI)                            0.963

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -28946.545  -28946.545
  Scaling correction factor                                  0.678
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -28922.216  -28922.216
  Scaling correction factor                                  1.027
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               57935.090   57935.090
  Bayesian (BIC)                             58075.227   58075.227
  Sample-size adjusted Bayesian (BIC)        58008.495   58008.495

Root Mean Square Error of Approximation:

  RMSEA                                          0.060       0.057
  90 Percent confidence interval - lower         0.045       0.042
  90 Percent confidence interval - upper         0.077       0.072
  P-value RMSEA <= 0.05                          0.123       0.210
                                                                  
  Robust RMSEA                                               0.060
  90 Percent confidence interval - lower                     0.044
  90 Percent confidence interval - upper                     0.077

Standardized Root Mean Square Residual:

  SRMR                                           0.025       0.025

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad    (a)          0.523    0.026   19.956    0.000    0.523    0.414
    ipfrule    (b)          0.739    0.030   24.768    0.000    0.739    0.650
    ipbhprp    (c)          0.730    0.036   20.467    0.000    0.730    0.625

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad    (d)    4.541    0.026  177.503    0.000    4.541    3.596
   .ipfrule    (e)    4.261    0.031  136.512    0.000    4.261    3.753
   .ipbhprp           4.477    0.031  142.505    0.000    4.477    3.832
    TrdtnCnfrm        0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    TraditnCnfrmty    1.000                               1.000    1.000
   .imptrad           1.321    0.064   20.615    0.000    1.321    0.829
   .ipfrule           0.744    0.053   13.912    0.000    0.744    0.577
   .ipbhprp           0.833    0.060   13.791    0.000    0.833    0.610


Group 2 [DE]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad    (a)          0.523    0.026   19.956    0.000    0.600    0.438
    ipfrule    (b)          0.739    0.030   24.768    0.000    0.847    0.603
    ipbhprp    (c)          0.730    0.036   20.467    0.000    0.837    0.642

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad    (d)    4.541    0.026  177.503    0.000    4.541    3.320
   .ipfrule    (e)    4.261    0.031  136.512    0.000    4.261    3.031
   .ipbhprp    (f)    4.860    0.054   90.674    0.000    4.860    3.726
    TrdtnCnfrm       -1.080    0.069  -15.540    0.000   -0.941   -0.941

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    TraditnCnfrmty    1.316    0.111   11.881    0.000    1.000    1.000
   .imptrad           1.511    0.046   33.169    0.000    1.511    0.808
   .ipfrule           1.259    0.052   24.238    0.000    1.259    0.637
   .ipbhprp           1.000    0.053   19.015    0.000    1.000    0.588


Group 3 [GB]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  TraditionConformity =~                                                      
    imptrad    (a)          0.523    0.026   19.956    0.000    0.620    0.436
    ipfrule    (b)          0.739    0.030   24.768    0.000    0.876    0.609
    ipbhprp    (c)          0.730    0.036   20.467    0.000    0.865    0.670

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imptrad    (d)    4.541    0.026  177.503    0.000    4.541    3.194
   .ipfrule    (e)    4.261    0.031  136.512    0.000    4.261    2.961
   .ipbhprp           4.974    0.051   96.586    0.000    4.974    3.852
    TrdtnCnfrm       -0.835    0.068  -12.192    0.000   -0.704   -0.704

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    TraditnCnfrmty    1.406    0.126   11.186    0.000    1.000    1.000
   .imptrad           1.637    0.054   30.133    0.000    1.637    0.810
   .ipfrule           1.304    0.065   20.019    0.000    1.304    0.630
   .ipbhprp           0.919    0.061   15.173    0.000    0.919    0.551

Comparing fit statistics

compFit.tradition_conformity3 <- compareFit(
  scalar = tradition_conformity_fit_scalar_partial,
  metric = tradition_conformity_fit_metric,
  config = tradition_conformity_fit_config,
  argsLRT = list(method = "satorra.bentler.2001")
)
summary(
  object = compFit.tradition_conformity3, 
  fit.measures = c("chisq.scaled", "df.scaled", "pvalue.scaled", 
                   "rmsea.scaled", "cfi.scaled", "tli.scaled",
                   "srmr", "aic", "bic")
  ) 
################### Nested Model Comparison #########################
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")

lavaan NOTE:
    The "Chisq" column contains standard test statistics, not the
    robust test that should be reported per model. A robust difference
    test is a function of two standard (not robust) statistics.
 
       Df   AIC   BIC   Chisq Chisq diff Df diff Pr(>Chisq)    
config  0 57898 58079  0.0000                                  
metric  4 57897 58050  6.3664      5.479       4     0.2415    
scalar  6 57935 58075 48.6573     41.005       2  1.247e-09 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

####################### Model Fit Indices ###########################
       chisq.scaled df.scaled pvalue.scaled rmsea.scaled cfi.scaled tli.scaled
config        .000†                      NA        .000†     1.000†     1.000†
metric       5.479          4          .242        .014      0.999      0.997 
scalar      43.508          6          .000        .057       .971       .956 
        srmr        aic        bic
config .000† 57898.433  58078.609 
metric .010  57896.799† 58050.282†
scalar .025  57935.090  58075.227 

################## Differences in Fit Indices #######################
                df.scaled rmsea.scaled cfi.scaled tli.scaled  srmr    aic
metric - config         4        0.014     -0.001     -0.003 0.010 -1.634
scalar - metric         2        0.043     -0.028     -0.041 0.015 38.291
                    bic
metric - config -28.326
scalar - metric  24.945

In this case there is no partial scalar measurement invariance, as long as we apply the stricter \(\chi^2\) differences test and stick to the cut-off criteria according to Chen (2007) Nevertheless, the model shows a very good data fit and it is up to us to decide whether to assume partial scalar measurement invariance or not. This could be explained above all by the fact that Chen (2007) results are only based on simulations and we are dealing with real data here.

Result

DE and GB have a significantly lower relative latent mean than CZ in terms of tradition/conformity.

Partial MI - Perceived Threat

Now that we can work with four indicators, we will use the Reference indicator method for this example.

perceived_threat_fit_scalar %>% 
  lavTestScore() %>% 
  # optional for better display 
  export_table(table_width = 1, digits = 2)
test  |     X2 | df | p.value
-----------------------------
score | 130.55 | 14 |       0

lhs   | op |   rhs |    X2 | df |  p.value
------------------------------------------
.p2.  | == | .p17. |  1.02 |  1 |     0.31
.p2.  | == | .p32. |  0.28 |  1 |     0.59
.p3.  | == | .p18. |  3.19 |  1 |     0.07
.p3.  | == | .p33. |  2.94 |  1 |     0.09
.p4.  | == | .p19. |  1.69 |  1 |     0.19
.p4.  | == | .p34. |  1.26 |  1 |     0.26
.p11. | == | .p26. | 61.95 |  1 | 3.55e-15
.p11. | == | .p41. | 11.52 |  1 | 6.89e-04
.p12. | == | .p27. | 10.85 |  1 | 9.89e-04
.p12. | == | .p42. |  7.63 |  1 | 5.73e-03
.p13. | == | .p28. | 18.77 |  1 | 1.48e-05
.p13. | == | .p43. |  3.77 |  1 |     0.05
.p14. | == | .p29. |  1.34 |  1 |     0.25
.p14. | == | .p44. | 12.16 |  1 | 4.89e-04

.p11. == .p26. -> Constraint with the largest \(\chi^2\) reduction

What do the parameter labels (.p11. & .p26.) mean?

perceived_threat_fit_scalar %>% 
  parTable() %>% 
  select(lhs, op, rhs, group, label, plabel, est, se) %>% 
  # optional for better display 
  export_table(table_width = 1, digits = 2)
lhs             | op |             rhs | group | label | plabel |       est |   se
----------------------------------------------------------------------------------
PerceivedThreat | =~ |         imbgeco |     1 |       |   .p1. |      1.00 | 0.00
PerceivedThreat | =~ |         imueclt |     1 |  .p2. |   .p2. |      1.00 | 0.02
PerceivedThreat | =~ |         imtcjob |     1 |  .p3. |   .p3. |      0.79 | 0.02
PerceivedThreat | =~ |         rlgueim |     1 |  .p4. |   .p4. |      0.58 | 0.02
imueclt         | ~~ |         rlgueim |     1 |       |   .p5. |      0.35 | 0.11
imbgeco         | ~~ |         imbgeco |     1 |       |   .p6. |      1.70 | 0.13
imueclt         | ~~ |         imueclt |     1 |       |   .p7. |      1.63 | 0.14
imtcjob         | ~~ |         imtcjob |     1 |       |   .p8. |      2.89 | 0.15
rlgueim         | ~~ |         rlgueim |     1 |       |   .p9. |      3.14 | 0.17
PerceivedThreat | ~~ | PerceivedThreat |     1 |       |  .p10. |      2.58 | 0.14
imbgeco         | ~1 |                 |     1 | .p11. |  .p11. |      6.41 | 0.05
imueclt         | ~1 |                 |     1 | .p12. |  .p12. |      6.12 | 0.05
imtcjob         | ~1 |                 |     1 | .p13. |  .p13. |      6.31 | 0.05
rlgueim         | ~1 |                 |     1 | .p14. |  .p14. |      6.14 | 0.04
PerceivedThreat | ~1 |                 |     1 |       |  .p15. |      0.00 | 0.00
PerceivedThreat | =~ |         imbgeco |     2 |       |  .p16. |      1.00 | 0.00
PerceivedThreat | =~ |         imueclt |     2 |  .p2. |  .p17. |      1.00 | 0.02
PerceivedThreat | =~ |         imtcjob |     2 |  .p3. |  .p18. |      0.79 | 0.02
PerceivedThreat | =~ |         rlgueim |     2 |  .p4. |  .p19. |      0.58 | 0.02
imueclt         | ~~ |         rlgueim |     2 |       |  .p20. |      0.85 | 0.09
imbgeco         | ~~ |         imbgeco |     2 |       |  .p21. |      1.98 | 0.11
imueclt         | ~~ |         imueclt |     2 |       |  .p22. |      2.63 | 0.12
imtcjob         | ~~ |         imtcjob |     2 |       |  .p23. |      2.38 | 0.11
rlgueim         | ~~ |         rlgueim |     2 |       |  .p24. |      3.26 | 0.11
PerceivedThreat | ~~ | PerceivedThreat |     2 |       |  .p25. |      3.14 | 0.14
imbgeco         | ~1 |                 |     2 | .p11. |  .p26. |      6.41 | 0.05
imueclt         | ~1 |                 |     2 | .p12. |  .p27. |      6.12 | 0.05
imtcjob         | ~1 |                 |     2 | .p13. |  .p28. |      6.31 | 0.05
rlgueim         | ~1 |                 |     2 | .p14. |  .p29. |      6.14 | 0.04
PerceivedThreat | ~1 |                 |     2 |       |  .p30. |     -2.31 | 0.06
PerceivedThreat | =~ |         imbgeco |     3 |       |  .p31. |      1.00 | 0.00
PerceivedThreat | =~ |         imueclt |     3 |  .p2. |  .p32. |      1.00 | 0.02
PerceivedThreat | =~ |         imtcjob |     3 |  .p3. |  .p33. |      0.79 | 0.02
PerceivedThreat | =~ |         rlgueim |     3 |  .p4. |  .p34. |      0.58 | 0.02
imueclt         | ~~ |         rlgueim |     3 |       |  .p35. |      1.01 | 0.13
imbgeco         | ~~ |         imbgeco |     3 |       |  .p36. |      1.85 | 0.13
imueclt         | ~~ |         imueclt |     3 |       |  .p37. |      2.80 | 0.17
imtcjob         | ~~ |         imtcjob |     3 |       |  .p38. |      2.90 | 0.15
rlgueim         | ~~ |         rlgueim |     3 |       |  .p39. |      3.69 | 0.15
PerceivedThreat | ~~ | PerceivedThreat |     3 |       |  .p40. |      4.27 | 0.18
imbgeco         | ~1 |                 |     3 | .p11. |  .p41. |      6.41 | 0.05
imueclt         | ~1 |                 |     3 | .p12. |  .p42. |      6.12 | 0.05
imtcjob         | ~1 |                 |     3 | .p13. |  .p43. |      6.31 | 0.05
rlgueim         | ~1 |                 |     3 | .p14. |  .p44. |      6.14 | 0.04
PerceivedThreat | ~1 |                 |     3 |       |  .p45. |     -1.24 | 0.07
.p2.            | == |           .p17. |     0 |       |        | -6.66e-16 | 0.00
.p2.            | == |           .p32. |     0 |       |        |  2.22e-16 | 0.00
.p3.            | == |           .p18. |     0 |       |        |      0.00 | 0.00
.p3.            | == |           .p33. |     0 |       |        | -2.22e-16 | 0.00
.p4.            | == |           .p19. |     0 |       |        | -2.22e-16 | 0.00
.p4.            | == |           .p34. |     0 |       |        |  4.44e-16 | 0.00
.p11.           | == |           .p26. |     0 |       |        |      0.00 | 0.00
.p11.           | == |           .p41. |     0 |       |        |  1.78e-15 | 0.00
.p12.           | == |           .p27. |     0 |       |        | -8.88e-16 | 0.00
.p12.           | == |           .p42. |     0 |       |        |  1.78e-15 | 0.00
.p13.           | == |           .p28. |     0 |       |        | -1.78e-15 | 0.00
.p13.           | == |           .p43. |     0 |       |        |  1.78e-15 | 0.00
.p14.           | == |           .p29. |     0 |       |        | -8.88e-16 | 0.00
.p14.           | == |           .p44. |     0 |       |        | -8.88e-16 | 0.00

Partial scalar invariance

Note! Only in one group does the variance and the intercept of the latent factor for model identification have to be fixed at 1 and 0, respectively. In the other groups, factor variance and intercept is freely estimated.

perceived_threat_fit_scalar_partial <- cfa(
  model = "
    PerceivedThreat =~ imbgeco + imueclt + imtcjob + rlgueim
    imueclt ~~ rlgueim
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  group.equal = c("loadings", "intercepts"),
  group.partial = c("imbgeco~1"),
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = perceived_threat_fit_scalar_partial,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 101 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        41
  Number of equality constraints                    12

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               116.715      93.260
  Degrees of freedom                                13          13
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.251
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                          32.589      26.040
    DE                                          33.899      27.087
    GB                                          50.227      40.133

Model Test Baseline Model:

  Test statistic                              7153.396    4187.890
  Degrees of freedom                                18          18
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.708

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.985       0.981
  Tucker-Lewis Index (TLI)                       0.980       0.973
                                                                  
  Robust Comparative Fit Index (CFI)                         0.986
  Robust Tucker-Lewis Index (TLI)                            0.980

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -48382.559  -48382.559
  Scaling correction factor                                  0.925
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -48324.201  -48324.201
  Scaling correction factor                                  1.290
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               96823.117   96823.117
  Bayesian (BIC)                             97016.639   97016.639
  Sample-size adjusted Bayesian (BIC)        96924.485   96924.485

Root Mean Square Error of Approximation:

  RMSEA                                          0.064       0.056
  90 Percent confidence interval - lower         0.054       0.047
  90 Percent confidence interval - upper         0.075       0.066
  P-value RMSEA <= 0.05                          0.014       0.130
                                                                  
  Robust RMSEA                                               0.063
  90 Percent confidence interval - lower                     0.051
  90 Percent confidence interval - upper                     0.075

Standardized Root Mean Square Residual:

  SRMR                                           0.028       0.028

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.000                               1.704    0.815
    imueclt (.p2.)      0.897    0.022   41.229    0.000    1.529    0.752
    imtcjob (.p3.)      0.721    0.018   40.135    0.000    1.230    0.587
    rlgueim (.p4.)      0.518    0.019   27.244    0.000    0.883    0.441

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.464    0.115    4.045    0.000    0.464    0.193

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           6.317    0.056  113.018    0.000    6.317    3.021
   .imueclt (.12.)    6.178    0.052  118.135    0.000    6.178    3.038
   .imtcjob (.13.)    6.390    0.052  121.773    0.000    6.390    3.050
   .rlgueim (.14.)    6.172    0.042  146.426    0.000    6.172    3.086
    PrcvdTh           0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           1.466    0.137   10.688    0.000    1.466    0.335
   .imueclt           1.799    0.135   13.304    0.000    1.799    0.435
   .imtcjob           2.878    0.150   19.141    0.000    2.878    0.656
   .rlgueim           3.221    0.170   18.971    0.000    3.221    0.805
    PerceivedThret    2.905    0.157   18.504    0.000    1.000    1.000


Group 2 [DE]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.000                               1.889    0.822
    imueclt (.p2.)      0.897    0.022   41.229    0.000    1.694    0.714
    imtcjob (.p3.)      0.721    0.018   40.135    0.000    1.363    0.659
    rlgueim (.p4.)      0.518    0.019   27.244    0.000    0.978    0.473

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           0.946    0.090   10.483    0.000    0.946    0.312

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           6.921    0.094   73.874    0.000    6.921    3.012
   .imueclt (.12.)    6.178    0.052  118.135    0.000    6.178    2.602
   .imtcjob (.13.)    6.390    0.052  121.773    0.000    6.390    3.088
   .rlgueim (.14.)    6.172    0.042  146.426    0.000    6.172    2.981
    PrcvdTh          -2.719    0.097  -28.008    0.000   -1.439   -1.439

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           1.711    0.123   13.943    0.000    1.711    0.324
   .imueclt           2.764    0.117   23.563    0.000    2.764    0.490
   .imtcjob           2.426    0.108   22.530    0.000    2.426    0.566
   .rlgueim           3.329    0.112   29.829    0.000    3.329    0.777
    PerceivedThret    3.569    0.166   21.516    0.000    1.000    1.000


Group 3 [GB]:

Latent Variables:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PerceivedThreat =~                                                      
    imbgeco             1.000                               2.176    0.868
    imueclt (.p2.)      0.897    0.022   41.229    0.000    1.952    0.748
    imtcjob (.p3.)      0.721    0.018   40.135    0.000    1.570    0.671
    rlgueim (.p4.)      0.518    0.019   27.244    0.000    1.127    0.501

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                            
   .rlgueim           1.147    0.135    8.501    0.000    1.147    0.340

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           6.489    0.084   76.940    0.000    6.489    2.588
   .imueclt (.12.)    6.178    0.052  118.135    0.000    6.178    2.366
   .imtcjob (.13.)    6.390    0.052  121.773    0.000    6.390    2.731
   .rlgueim (.14.)    6.172    0.042  146.426    0.000    6.172    2.745
    PrcvdTh          -1.391    0.094  -14.785    0.000   -0.639   -0.639

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .imbgeco           1.551    0.146   10.636    0.000    1.551    0.247
   .imueclt           3.006    0.173   17.374    0.000    3.006    0.441
   .imtcjob           3.010    0.150   20.034    0.000    3.010    0.550
   .rlgueim           3.784    0.156   24.237    0.000    3.784    0.749
    PerceivedThret    4.737    0.200   23.637    0.000    1.000    1.000

Comparing fit statistics

compFit.perceived_threat3 <- compareFit(
  scalar = perceived_threat_fit_scalar_partial,
  metric = perceived_threat_fit_metric,
  config = perceived_threat_fit_config,
  argsLRT = list(method = "satorra.bentler.2001")
)
summary(
  object = compFit.perceived_threat3, 
  fit.measures = c("chisq.scaled", "df.scaled", "pvalue.scaled", 
                   "rmsea.scaled", "cfi.scaled", "tli.scaled",
                   "srmr", "aic", "bic")
  ) 
################### Nested Model Comparison #########################
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")

lavaan NOTE:
    The "Chisq" column contains standard test statistics, not the
    robust test that should be reported per model. A robust difference
    test is a function of two standard (not robust) statistics.
 
       Df   AIC   BIC   Chisq Chisq diff Df diff Pr(>Chisq)    
config  3 96778 97038  51.626                                  
metric  9 96785 97006  70.959     15.303       6    0.01803 *  
scalar 13 96823 97017 116.715     44.312       4  5.526e-09 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

####################### Model Fit Indices ###########################
       chisq.scaled df.scaled pvalue.scaled rmsea.scaled cfi.scaled tli.scaled
config      33.973†         3          .000        .073       .993†      .955 
metric      52.609          9          .000        .050†      .990       .979†
scalar      93.260         13          .000        .056       .981       .973 
        srmr        aic        bic
config .014† 96778.028† 97038.282 
metric .021  96785.361  97005.576†
scalar .028  96823.117  97016.639 

################## Differences in Fit Indices #######################
                df.scaled rmsea.scaled cfi.scaled tli.scaled  srmr    aic
metric - config         6       -0.023     -0.003      0.024 0.007  7.333
scalar - metric         4        0.006     -0.009     -0.006 0.007 37.756
                    bic
metric - config -32.706
scalar - metric  11.063

Result

DE and GB have a significantly lower relative latent mean than CZ in terms of perceived threat.

Simultaneous factor analyses

SCFA

scfa_fit <- cfa(
  model = "
    Universalism =~ ipeqopt + ipudrst + impenv
    TraditionConformity =~ imptrad + ipfrule + ipbhprp
    PerceivedThreat =~ imbgeco + imueclt + imtcjob + rlgueim
    imueclt   ~~  rlgueim
  ",
  data = ESS07,
  estimator = "MLR",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = scfa_fit,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 51 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        34

  Number of observations                          5844
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               468.610     407.761
  Degrees of freedom                                31          31
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.149
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                             13722.205   11027.357
  Degrees of freedom                                45          45
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.244

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.968       0.966
  Tucker-Lewis Index (TLI)                       0.954       0.950
                                                                  
  Robust Comparative Fit Index (CFI)                         0.968
  Robust Tucker-Lewis Index (TLI)                            0.954

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)            -102343.336 -102343.336
  Scaling correction factor                                  1.181
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)    -102109.031 -102109.031
  Scaling correction factor                                  1.166
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                              204754.672  204754.672
  Bayesian (BIC)                            204981.560  204981.560
  Sample-size adjusted Bayesian (BIC)       204873.517  204873.517

Root Mean Square Error of Approximation:

  RMSEA                                          0.049       0.046
  90 Percent confidence interval - lower         0.045       0.042
  90 Percent confidence interval - upper         0.053       0.049
  P-value RMSEA <= 0.05                          0.631       0.974
                                                                  
  Robust RMSEA                                               0.049
  90 Percent confidence interval - lower                     0.045
  90 Percent confidence interval - upper                     0.053

Standardized Root Mean Square Residual:

  SRMR                                           0.034       0.034

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.593    0.570
    ipudrst                 1.075    0.048   22.346    0.000    0.638    0.621
    impenv                  0.827    0.042   19.872    0.000    0.491    0.479
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.692    0.502
    ipfrule                 1.203    0.054   22.315    0.000    0.833    0.598
    ipbhprp                 1.203    0.053   22.636    0.000    0.832    0.650
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               2.038    0.826
    imueclt                 1.022    0.019   53.594    0.000    2.083    0.808
    imtcjob                 0.784    0.015   50.980    0.000    1.598    0.694
    rlgueim                 0.597    0.018   32.807    0.000    1.216    0.556

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.689    0.070    9.832    0.000    0.689    0.250
  Universalism ~~                                                             
    TraditnCnfrmty          0.093    0.011    8.664    0.000    0.227    0.227
    PerceivedThret         -0.537    0.029  -18.337    0.000   -0.444   -0.444
  TraditionConformity ~~                                                      
    PerceivedThret          0.414    0.032   13.083    0.000    0.293    0.293

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.945    0.014  363.381    0.000    4.945    4.753
   .ipudrst           4.717    0.013  351.024    0.000    4.717    4.592
   .impenv            4.878    0.013  363.981    0.000    4.878    4.761
   .imptrad           4.155    0.018  230.189    0.000    4.155    3.011
   .ipfrule           3.700    0.018  203.091    0.000    3.700    2.657
   .ipbhprp           4.258    0.017  254.054    0.000    4.258    3.323
   .imbgeco           4.979    0.032  154.352    0.000    4.979    2.019
   .imueclt           4.696    0.034  139.327    0.000    4.696    1.823
   .imtcjob           5.187    0.030  172.337    0.000    5.187    2.254
   .rlgueim           5.318    0.029  185.807    0.000    5.318    2.431
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.731    0.027   27.149    0.000    0.731    0.675
   .ipudrst           0.649    0.023   28.073    0.000    0.649    0.615
   .impenv            0.809    0.022   36.660    0.000    0.809    0.771
   .imptrad           1.425    0.036   39.889    0.000    1.425    0.748
   .ipfrule           1.247    0.039   32.266    0.000    1.247    0.643
   .ipbhprp           0.948    0.035   27.045    0.000    0.948    0.578
   .imbgeco           1.928    0.083   23.216    0.000    1.928    0.317
   .imueclt           2.302    0.095   24.117    0.000    2.302    0.347
   .imtcjob           2.742    0.084   32.810    0.000    2.742    0.518
   .rlgueim           3.308    0.084   39.362    0.000    3.308    0.691
    Universalism      0.352    0.023   15.526    0.000    1.000    1.000
    TraditnCnfrmty    0.479    0.032   15.030    0.000    1.000    1.000
    PerceivedThret    4.153    0.119   34.859    0.000    1.000    1.000
scfa_plot <- scfa_fit %>% 
  semPaths(
    whatLabels = "std", 
    style = "mx", 
    layout = "tree2", 
    edge.color = "black", 
    intercepts = F,
    sizeMan = 8, 
    sizeLat = 10, 
    edge.label.cex = .65,
    nCharNodes = 50
  ) 

scfa_plot %>% 
  mark_sig(scfa_fit) %>% 
  plot()

MI - SCFA

Measurement for each group

Reference indicator method

scfa_fit_countries <- ESS07_countries %>% 
  map(~ cfa(
    model = "
      Universalism =~ ipeqopt + ipudrst + impenv
      TraditionConformity =~ imptrad + ipfrule + ipbhprp
      PerceivedThreat =~ imbgeco + imueclt + imtcjob + rlgueim
      imueclt ~~ rlgueim
    ", 
    data = .,
    estimator = "MLR",
    # optional if there are missing values
    missing = "fiml.x"
    ))
scfa_fit_countries %>% 
  map(~ summary(
    object = .,
    fit.measures = T,
    standardized = T
    # rsquare = T
  ))
$CZ
lavaan 0.6-12 ended normally after 48 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        34

  Number of observations                          1393
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                82.379      65.825
  Degrees of freedom                                31          31
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.251
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              2762.391    2047.305
  Degrees of freedom                                45          45
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.349

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.981       0.983
  Tucker-Lewis Index (TLI)                       0.973       0.975
                                                                  
  Robust Comparative Fit Index (CFI)                         0.984
  Robust Tucker-Lewis Index (TLI)                            0.977

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -23420.016  -23420.016
  Scaling correction factor                                  1.252
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -23378.827  -23378.827
  Scaling correction factor                                  1.252
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               46908.033   46908.033
  Bayesian (BIC)                             47086.166   47086.166
  Sample-size adjusted Bayesian (BIC)        46978.161   46978.161

Root Mean Square Error of Approximation:

  RMSEA                                          0.034       0.028
  90 Percent confidence interval - lower         0.026       0.020
  90 Percent confidence interval - upper         0.044       0.037
  P-value RMSEA <= 0.05                          0.998       1.000
                                                                  
  Robust RMSEA                                               0.032
  90 Percent confidence interval - lower                     0.021
  90 Percent confidence interval - upper                     0.042

Standardized Root Mean Square Residual:

  SRMR                                           0.023       0.023

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.598    0.563
    ipudrst                 0.986    0.085   11.621    0.000    0.590    0.541
    impenv                  1.076    0.081   13.358    0.000    0.644    0.613
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.610    0.478
    ipfrule                 1.064    0.095   11.236    0.000    0.649    0.581
    ipbhprp                 1.294    0.106   12.177    0.000    0.790    0.673
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               1.674    0.803
    imueclt                 0.922    0.052   17.870    0.000    1.544    0.760
    imtcjob                 0.756    0.042   18.018    0.000    1.266    0.603
    rlgueim                 0.527    0.051   10.285    0.000    0.883    0.443

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.424    0.135    3.149    0.002    0.424    0.180
  Universalism ~~                                                             
    TraditnCnfrmty          0.304    0.028   10.974    0.000    0.833    0.833
    PerceivedThret         -0.061    0.040   -1.505    0.132   -0.061   -0.061
  TraditionConformity ~~                                                      
    PerceivedThret          0.059    0.042    1.405    0.160    0.058    0.058

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.538    0.028  159.514    0.000    4.538    4.274
   .ipudrst           4.252    0.029  145.438    0.000    4.252    3.897
   .impenv            4.688    0.028  166.708    0.000    4.688    4.467
   .imptrad           4.416    0.034  129.035    0.000    4.416    3.457
   .ipfrule           4.311    0.030  144.025    0.000    4.311    3.859
   .ipbhprp           4.477    0.031  142.505    0.000    4.477    3.818
   .imbgeco           6.317    0.056  113.018    0.000    6.317    3.028
   .imueclt           6.115    0.054  112.277    0.000    6.115    3.008
   .imtcjob           6.556    0.056  116.518    0.000    6.556    3.122
   .rlgueim           6.042    0.053  113.304    0.000    6.042    3.036
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.769    0.052   14.837    0.000    0.769    0.683
   .ipudrst           0.842    0.046   18.413    0.000    0.842    0.708
   .impenv            0.687    0.041   16.774    0.000    0.687    0.624
   .imptrad           1.259    0.065   19.227    0.000    1.259    0.772
   .ipfrule           0.826    0.052   15.934    0.000    0.826    0.662
   .ipbhprp           0.751    0.059   12.817    0.000    0.751    0.546
   .imbgeco           1.548    0.176    8.789    0.000    1.548    0.356
   .imueclt           1.748    0.167   10.467    0.000    1.748    0.423
   .imtcjob           2.808    0.162   17.369    0.000    2.808    0.637
   .rlgueim           3.183    0.184   17.274    0.000    3.183    0.803
    Universalism      0.358    0.043    8.394    0.000    1.000    1.000
    TraditnCnfrmty    0.373    0.051    7.343    0.000    1.000    1.000
    PerceivedThret    2.803    0.204   13.711    0.000    1.000    1.000


$DE
lavaan 0.6-12 ended normally after 56 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        34

  Number of observations                          2671
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               248.043     216.303
  Degrees of freedom                                31          31
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.147
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              4882.446    3971.444
  Degrees of freedom                                45          45
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.229

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.955       0.953
  Tucker-Lewis Index (TLI)                       0.935       0.931
                                                                  
  Robust Comparative Fit Index (CFI)                         0.956
  Robust Tucker-Lewis Index (TLI)                            0.936

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -45849.058  -45849.058
  Scaling correction factor                                  1.236
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -45725.037  -45725.037
  Scaling correction factor                                  1.193
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               91766.116   91766.116
  Bayesian (BIC)                             91966.383   91966.383
  Sample-size adjusted Bayesian (BIC)        91858.355   91858.355

Root Mean Square Error of Approximation:

  RMSEA                                          0.051       0.047
  90 Percent confidence interval - lower         0.045       0.042
  90 Percent confidence interval - upper         0.057       0.053
  P-value RMSEA <= 0.05                          0.357       0.778
                                                                  
  Robust RMSEA                                               0.051
  90 Percent confidence interval - lower                     0.044
  90 Percent confidence interval - upper                     0.057

Standardized Root Mean Square Residual:

  SRMR                                           0.033       0.033

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.482    0.504
    ipudrst                 1.014    0.090   11.266    0.000    0.489    0.556
    impenv                  0.918    0.083   11.098    0.000    0.442    0.464
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.653    0.476
    ipfrule                 1.228    0.088   13.883    0.000    0.802    0.572
    ipbhprp                 1.289    0.098   13.146    0.000    0.841    0.645
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               1.857    0.801
    imueclt                 0.941    0.039   24.317    0.000    1.748    0.741
    imtcjob                 0.705    0.025   27.981    0.000    1.309    0.639
    rlgueim                 0.559    0.032   17.465    0.000    1.039    0.501

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.776    0.100    7.799    0.000    0.776    0.273
  Universalism ~~                                                             
    TraditnCnfrmty          0.065    0.013    5.175    0.000    0.208    0.208
    PerceivedThret         -0.373    0.038   -9.755    0.000   -0.416   -0.416
  TraditionConformity ~~                                                      
    PerceivedThret          0.283    0.043    6.578    0.000    0.233    0.233

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           5.126    0.019  276.841    0.000    5.126    5.357
   .ipudrst           4.961    0.017  291.447    0.000    4.961    5.639
   .impenv            4.996    0.018  271.054    0.000    4.996    5.245
   .imptrad           4.028    0.027  151.748    0.000    4.028    2.936
   .ipfrule           3.433    0.027  126.693    0.000    3.433    2.451
   .ipbhprp           4.072    0.025  161.233    0.000    4.072    3.120
   .imbgeco           4.203    0.045   93.648    0.000    4.203    1.812
   .imueclt           3.752    0.046   82.188    0.000    3.752    1.590
   .imtcjob           4.417    0.040  111.454    0.000    4.417    2.157
   .rlgueim           4.758    0.040  118.646    0.000    4.758    2.296
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.683    0.040   17.006    0.000    0.683    0.746
   .ipudrst           0.535    0.029   18.522    0.000    0.535    0.691
   .impenv            0.712    0.031   22.721    0.000    0.712    0.784
   .imptrad           1.456    0.054   26.745    0.000    1.456    0.774
   .ipfrule           1.318    0.056   23.689    0.000    1.318    0.672
   .ipbhprp           0.996    0.057   17.345    0.000    0.996    0.585
   .imbgeco           1.931    0.143   13.512    0.000    1.931    0.359
   .imueclt           2.510    0.144   17.435    0.000    2.510    0.451
   .imtcjob           2.483    0.116   21.351    0.000    2.483    0.592
   .rlgueim           3.217    0.116   27.792    0.000    3.217    0.749
    Universalism      0.232    0.029    7.884    0.000    1.000    1.000
    TraditnCnfrmty    0.426    0.047    9.043    0.000    1.000    1.000
    PerceivedThret    3.448    0.187   18.413    0.000    1.000    1.000


$GB
lavaan 0.6-12 ended normally after 52 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        34

  Number of observations                          1780
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               224.751     205.610
  Degrees of freedom                                31          31
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.093
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              4016.611    3319.780
  Degrees of freedom                                45          45
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.210

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.951       0.947
  Tucker-Lewis Index (TLI)                       0.929       0.923
                                                                  
  Robust Comparative Fit Index (CFI)                         0.952
  Robust Tucker-Lewis Index (TLI)                            0.930

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -31756.147  -31756.147
  Scaling correction factor                                  1.166
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -31643.772  -31643.772
  Scaling correction factor                                  1.131
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               63580.295   63580.295
  Bayesian (BIC)                             63766.763   63766.763
  Sample-size adjusted Bayesian (BIC)        63658.748   63658.748

Root Mean Square Error of Approximation:

  RMSEA                                          0.059       0.056
  90 Percent confidence interval - lower         0.052       0.049
  90 Percent confidence interval - upper         0.067       0.063
  P-value RMSEA <= 0.05                          0.017       0.067
                                                                  
  Robust RMSEA                                               0.059
  90 Percent confidence interval - lower                     0.051
  90 Percent confidence interval - upper                     0.067

Standardized Root Mean Square Residual:

  SRMR                                           0.044       0.044

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.594    0.563
    ipudrst                 1.109    0.098   11.275    0.000    0.659    0.625
    impenv                  0.744    0.091    8.146    0.000    0.443    0.409
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.738    0.512
    ipfrule                 1.142    0.095   11.963    0.000    0.842    0.589
    ipbhprp                 1.114    0.090   12.407    0.000    0.822    0.639
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               2.052    0.826
    imueclt                 1.057    0.038   28.075    0.000    2.169    0.808
    imtcjob                 0.733    0.029   25.020    0.000    1.504    0.655
    rlgueim                 0.631    0.036   17.776    0.000    1.295    0.567

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.798    0.154    5.171    0.000    0.798    0.268
  Universalism ~~                                                             
    TraditnCnfrmty          0.106    0.022    4.786    0.000    0.241    0.241
    PerceivedThret         -0.490    0.063   -7.796    0.000   -0.402   -0.402
  TraditionConformity ~~                                                      
    PerceivedThret          0.328    0.059    5.521    0.000    0.217    0.217

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.994    0.025  199.417    0.000    4.994    4.727
   .ipudrst           4.716    0.025  188.538    0.000    4.716    4.469
   .impenv            4.849    0.026  188.959    0.000    4.849    4.479
   .imptrad           4.142    0.034  121.354    0.000    4.142    2.876
   .ipfrule           3.624    0.034  106.911    0.000    3.624    2.534
   .ipbhprp           4.365    0.030  143.127    0.000    4.365    3.392
   .imbgeco           5.097    0.059   86.586    0.000    5.097    2.052
   .imueclt           5.002    0.064   78.633    0.000    5.002    1.864
   .imtcjob           5.271    0.054   96.863    0.000    5.271    2.296
   .rlgueim           5.592    0.054  103.308    0.000    5.592    2.449
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.763    0.050   15.275    0.000    0.763    0.683
   .ipudrst           0.679    0.047   14.457    0.000    0.679    0.610
   .impenv            0.976    0.043   22.514    0.000    0.976    0.833
   .imptrad           1.529    0.068   22.449    0.000    1.529    0.737
   .ipfrule           1.335    0.074   18.072    0.000    1.335    0.653
   .ipbhprp           0.980    0.065   14.985    0.000    0.980    0.592
   .imbgeco           1.958    0.159   12.297    0.000    1.958    0.317
   .imueclt           2.498    0.205   12.164    0.000    2.498    0.347
   .imtcjob           3.008    0.156   19.338    0.000    3.008    0.571
   .rlgueim           3.538    0.167   21.171    0.000    3.538    0.678
    Universalism      0.353    0.047    7.566    0.000    1.000    1.000
    TraditnCnfrmty    0.544    0.065    8.340    0.000    1.000    1.000
    PerceivedThret    4.211    0.223   18.859    0.000    1.000    1.000

Fixed factor method

scfa_fit_countries2 <- ESS07_countries %>% 
  map(~ cfa(
    model = "
      Universalism =~ NA*ipeqopt + ipudrst + impenv
      Universalism ~~ 1*Universalism
      
      TraditionConformity =~ NA*imptrad + ipfrule + ipbhprp
      TraditionConformity ~~ 1*TraditionConformity
      
      PerceivedThreat =~ NA*imbgeco + imueclt + imtcjob + rlgueim
      imueclt ~~ rlgueim
      PerceivedThreat ~~ 1*PerceivedThreat
    ", 
    data = .,
    estimator = "MLR",
    # optional if there are missing values
    missing = "fiml.x"
    ))
scfa_fit_countries2 %>% 
  map(~ summary(
    object = .,
    fit.measures = T,
    standardized = T
    # rsquare = T
  ))
$CZ
lavaan 0.6-12 ended normally after 25 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        34

  Number of observations                          1393
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                                82.379      65.825
  Degrees of freedom                                31          31
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.251
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              2762.391    2047.305
  Degrees of freedom                                45          45
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.349

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.981       0.983
  Tucker-Lewis Index (TLI)                       0.973       0.975
                                                                  
  Robust Comparative Fit Index (CFI)                         0.984
  Robust Tucker-Lewis Index (TLI)                            0.977

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -23420.016  -23420.016
  Scaling correction factor                                  1.252
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -23378.827  -23378.827
  Scaling correction factor                                  1.252
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               46908.033   46908.033
  Bayesian (BIC)                             47086.166   47086.166
  Sample-size adjusted Bayesian (BIC)        46978.161   46978.161

Root Mean Square Error of Approximation:

  RMSEA                                          0.034       0.028
  90 Percent confidence interval - lower         0.026       0.020
  90 Percent confidence interval - upper         0.044       0.037
  P-value RMSEA <= 0.05                          0.998       1.000
                                                                  
  Robust RMSEA                                               0.032
  90 Percent confidence interval - lower                     0.021
  90 Percent confidence interval - upper                     0.042

Standardized Root Mean Square Residual:

  SRMR                                           0.023       0.023

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 0.598    0.036   16.788    0.000    0.598    0.563
    ipudrst                 0.590    0.037   15.918    0.000    0.590    0.541
    impenv                  0.644    0.034   18.761    0.000    0.644    0.613
  TraditionConformity =~                                                      
    imptrad                 0.610    0.042   14.687    0.000    0.610    0.478
    ipfrule                 0.649    0.038   17.268    0.000    0.649    0.581
    ipbhprp                 0.790    0.038   20.642    0.000    0.790    0.673
  PerceivedThreat =~                                                          
    imbgeco                 1.674    0.061   27.423    0.000    1.674    0.803
    imueclt                 1.544    0.062   24.955    0.000    1.544    0.760
    imtcjob                 1.266    0.063   20.214    0.000    1.266    0.603
    rlgueim                 0.883    0.074   11.876    0.000    0.883    0.443

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.424    0.135    3.149    0.002    0.424    0.180
  Universalism ~~                                                             
    TraditnCnfrmty          0.833    0.039   21.543    0.000    0.833    0.833
    PerceivedThret         -0.061    0.040   -1.522    0.128   -0.061   -0.061
  TraditionConformity ~~                                                      
    PerceivedThret          0.058    0.041    1.407    0.159    0.058    0.058

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.538    0.028  159.514    0.000    4.538    4.274
   .ipudrst           4.252    0.029  145.438    0.000    4.252    3.897
   .impenv            4.688    0.028  166.708    0.000    4.688    4.467
   .imptrad           4.416    0.034  129.035    0.000    4.416    3.457
   .ipfrule           4.311    0.030  144.025    0.000    4.311    3.859
   .ipbhprp           4.477    0.031  142.505    0.000    4.477    3.818
   .imbgeco           6.317    0.056  113.018    0.000    6.317    3.028
   .imueclt           6.115    0.054  112.277    0.000    6.115    3.008
   .imtcjob           6.556    0.056  116.518    0.000    6.556    3.122
   .rlgueim           6.042    0.053  113.304    0.000    6.042    3.036
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    Universalism      1.000                               1.000    1.000
    TraditnCnfrmty    1.000                               1.000    1.000
    PerceivedThret    1.000                               1.000    1.000
   .ipeqopt           0.769    0.052   14.837    0.000    0.769    0.683
   .ipudrst           0.842    0.046   18.413    0.000    0.842    0.708
   .impenv            0.687    0.041   16.774    0.000    0.687    0.624
   .imptrad           1.259    0.065   19.227    0.000    1.259    0.772
   .ipfrule           0.826    0.052   15.934    0.000    0.826    0.662
   .ipbhprp           0.751    0.059   12.817    0.000    0.751    0.546
   .imbgeco           1.548    0.176    8.790    0.000    1.548    0.356
   .imueclt           1.748    0.167   10.467    0.000    1.748    0.423
   .imtcjob           2.808    0.162   17.369    0.000    2.808    0.637
   .rlgueim           3.183    0.184   17.274    0.000    3.183    0.803


$DE
lavaan 0.6-12 ended normally after 31 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        34

  Number of observations                          2671
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               248.043     216.303
  Degrees of freedom                                31          31
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.147
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              4882.446    3971.444
  Degrees of freedom                                45          45
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.229

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.955       0.953
  Tucker-Lewis Index (TLI)                       0.935       0.931
                                                                  
  Robust Comparative Fit Index (CFI)                         0.956
  Robust Tucker-Lewis Index (TLI)                            0.936

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -45849.058  -45849.058
  Scaling correction factor                                  1.236
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -45725.037  -45725.037
  Scaling correction factor                                  1.193
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               91766.116   91766.116
  Bayesian (BIC)                             91966.383   91966.383
  Sample-size adjusted Bayesian (BIC)        91858.355   91858.355

Root Mean Square Error of Approximation:

  RMSEA                                          0.051       0.047
  90 Percent confidence interval - lower         0.045       0.042
  90 Percent confidence interval - upper         0.057       0.053
  P-value RMSEA <= 0.05                          0.357       0.778
                                                                  
  Robust RMSEA                                               0.051
  90 Percent confidence interval - lower                     0.044
  90 Percent confidence interval - upper                     0.057

Standardized Root Mean Square Residual:

  SRMR                                           0.033       0.033

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 0.482    0.031   15.768    0.000    0.482    0.504
    ipudrst                 0.489    0.028   17.513    0.000    0.489    0.556
    impenv                  0.442    0.029   15.198    0.000    0.442    0.464
  TraditionConformity =~                                                      
    imptrad                 0.653    0.036   18.086    0.000    0.653    0.476
    ipfrule                 0.802    0.035   22.658    0.000    0.802    0.572
    ipbhprp                 0.841    0.035   23.801    0.000    0.841    0.645
  PerceivedThreat =~                                                          
    imbgeco                 1.857    0.050   36.827    0.000    1.857    0.801
    imueclt                 1.748    0.052   33.787    0.000    1.748    0.741
    imtcjob                 1.309    0.049   26.851    0.000    1.309    0.639
    rlgueim                 1.039    0.050   20.898    0.000    1.039    0.501

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.776    0.100    7.799    0.000    0.776    0.273
  Universalism ~~                                                             
    TraditnCnfrmty          0.208    0.038    5.419    0.000    0.208    0.208
    PerceivedThret         -0.416    0.033  -12.695    0.000   -0.416   -0.416
  TraditionConformity ~~                                                      
    PerceivedThret          0.233    0.031    7.572    0.000    0.233    0.233

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           5.126    0.019  276.841    0.000    5.126    5.357
   .ipudrst           4.961    0.017  291.447    0.000    4.961    5.639
   .impenv            4.996    0.018  271.054    0.000    4.996    5.245
   .imptrad           4.028    0.027  151.748    0.000    4.028    2.936
   .ipfrule           3.433    0.027  126.693    0.000    3.433    2.451
   .ipbhprp           4.072    0.025  161.233    0.000    4.072    3.120
   .imbgeco           4.203    0.045   93.648    0.000    4.203    1.812
   .imueclt           3.752    0.046   82.188    0.000    3.752    1.590
   .imtcjob           4.417    0.040  111.454    0.000    4.417    2.157
   .rlgueim           4.758    0.040  118.646    0.000    4.758    2.296
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    Universalism      1.000                               1.000    1.000
    TraditnCnfrmty    1.000                               1.000    1.000
    PerceivedThret    1.000                               1.000    1.000
   .ipeqopt           0.683    0.040   17.006    0.000    0.683    0.746
   .ipudrst           0.535    0.029   18.522    0.000    0.535    0.691
   .impenv            0.712    0.031   22.721    0.000    0.712    0.784
   .imptrad           1.456    0.054   26.745    0.000    1.456    0.774
   .ipfrule           1.318    0.056   23.689    0.000    1.318    0.672
   .ipbhprp           0.996    0.057   17.345    0.000    0.996    0.585
   .imbgeco           1.931    0.143   13.512    0.000    1.931    0.359
   .imueclt           2.510    0.144   17.435    0.000    2.510    0.451
   .imtcjob           2.483    0.116   21.351    0.000    2.483    0.592
   .rlgueim           3.217    0.116   27.792    0.000    3.217    0.749


$GB
lavaan 0.6-12 ended normally after 32 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        34

  Number of observations                          1780
  Number of missing patterns                         1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               224.751     205.610
  Degrees of freedom                                31          31
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.093
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              4016.611    3319.780
  Degrees of freedom                                45          45
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.210

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.951       0.947
  Tucker-Lewis Index (TLI)                       0.929       0.923
                                                                  
  Robust Comparative Fit Index (CFI)                         0.952
  Robust Tucker-Lewis Index (TLI)                            0.930

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -31756.147  -31756.147
  Scaling correction factor                                  1.166
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)     -31643.772  -31643.772
  Scaling correction factor                                  1.131
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               63580.295   63580.295
  Bayesian (BIC)                             63766.763   63766.763
  Sample-size adjusted Bayesian (BIC)        63658.748   63658.748

Root Mean Square Error of Approximation:

  RMSEA                                          0.059       0.056
  90 Percent confidence interval - lower         0.052       0.049
  90 Percent confidence interval - upper         0.067       0.063
  P-value RMSEA <= 0.05                          0.017       0.067
                                                                  
  Robust RMSEA                                               0.059
  90 Percent confidence interval - lower                     0.051
  90 Percent confidence interval - upper                     0.067

Standardized Root Mean Square Residual:

  SRMR                                           0.044       0.044

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 0.594    0.039   15.133    0.000    0.594    0.563
    ipudrst                 0.659    0.039   17.100    0.000    0.659    0.625
    impenv                  0.443    0.041   10.792    0.000    0.443    0.409
  TraditionConformity =~                                                      
    imptrad                 0.738    0.044   16.680    0.000    0.738    0.512
    ipfrule                 0.842    0.044   19.068    0.000    0.842    0.589
    ipbhprp                 0.822    0.041   20.185    0.000    0.822    0.639
  PerceivedThreat =~                                                          
    imbgeco                 2.052    0.054   37.718    0.000    2.052    0.826
    imueclt                 2.169    0.059   37.074    0.000    2.169    0.808
    imtcjob                 1.504    0.058   25.804    0.000    1.504    0.655
    rlgueim                 1.295    0.063   20.558    0.000    1.295    0.567

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.798    0.154    5.171    0.000    0.798    0.268
  Universalism ~~                                                             
    TraditnCnfrmty          0.241    0.050    4.856    0.000    0.241    0.241
    PerceivedThret         -0.402    0.036  -11.317    0.000   -0.402   -0.402
  TraditionConformity ~~                                                      
    PerceivedThret          0.217    0.036    6.049    0.000    0.217    0.217

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.994    0.025  199.417    0.000    4.994    4.727
   .ipudrst           4.716    0.025  188.538    0.000    4.716    4.469
   .impenv            4.849    0.026  188.959    0.000    4.849    4.479
   .imptrad           4.142    0.034  121.354    0.000    4.142    2.876
   .ipfrule           3.624    0.034  106.911    0.000    3.624    2.534
   .ipbhprp           4.365    0.030  143.127    0.000    4.365    3.392
   .imbgeco           5.097    0.059   86.586    0.000    5.097    2.052
   .imueclt           5.002    0.064   78.633    0.000    5.002    1.864
   .imtcjob           5.271    0.054   96.863    0.000    5.271    2.296
   .rlgueim           5.592    0.054  103.308    0.000    5.592    2.449
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    Universalism      1.000                               1.000    1.000
    TraditnCnfrmty    1.000                               1.000    1.000
    PerceivedThret    1.000                               1.000    1.000
   .ipeqopt           0.763    0.050   15.275    0.000    0.763    0.683
   .ipudrst           0.679    0.047   14.457    0.000    0.679    0.610
   .impenv            0.976    0.043   22.514    0.000    0.976    0.833
   .imptrad           1.529    0.068   22.449    0.000    1.529    0.737
   .ipfrule           1.335    0.074   18.072    0.000    1.335    0.653
   .ipbhprp           0.980    0.065   14.985    0.000    0.980    0.592
   .imbgeco           1.958    0.159   12.297    0.000    1.958    0.317
   .imueclt           2.498    0.205   12.164    0.000    2.498    0.347
   .imtcjob           3.008    0.156   19.338    0.000    3.008    0.571
   .rlgueim           3.538    0.167   21.171    0.000    3.538    0.678

Configural model

Reference indicator method

scfa_fit_config <- cfa(
  model = "
    Universalism =~ ipeqopt + ipudrst + impenv
    TraditionConformity =~ imptrad + ipfrule + ipbhprp
    PerceivedThreat =~ imbgeco + imueclt + imtcjob + rlgueim
    imueclt ~~ rlgueim
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = scfa_fit_config,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 130 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                       102

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               555.173     477.046
  Degrees of freedom                                93          93
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.164
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                          82.379      70.786
    DE                                         248.043     213.137
    GB                                         224.751     193.123

Model Test Baseline Model:

  Test statistic                             11661.448    9234.176
  Degrees of freedom                               135         135
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.263

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.960       0.958
  Tucker-Lewis Index (TLI)                       0.942       0.939
                                                                  
  Robust Comparative Fit Index (CFI)                         0.961
  Robust Tucker-Lewis Index (TLI)                            0.944

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)            -101025.222 -101025.222
  Scaling correction factor                                  1.218
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)    -100747.635 -100747.635
  Scaling correction factor                                  1.192
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                              202254.443  202254.443
  Bayesian (BIC)                            202935.107  202935.107
  Sample-size adjusted Bayesian (BIC)       202610.980  202610.980

Root Mean Square Error of Approximation:

  RMSEA                                          0.051       0.046
  90 Percent confidence interval - lower         0.046       0.042
  90 Percent confidence interval - upper         0.055       0.050
  P-value RMSEA <= 0.05                          0.410       0.956
                                                                  
  Robust RMSEA                                               0.050
  90 Percent confidence interval - lower                     0.045
  90 Percent confidence interval - upper                     0.054

Standardized Root Mean Square Residual:

  SRMR                                           0.034       0.034

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.598    0.563
    ipudrst                 0.986    0.085   11.621    0.000    0.590    0.541
    impenv                  1.076    0.081   13.358    0.000    0.644    0.613
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.610    0.478
    ipfrule                 1.064    0.095   11.237    0.000    0.649    0.581
    ipbhprp                 1.294    0.106   12.178    0.000    0.790    0.673
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               1.674    0.803
    imueclt                 0.922    0.052   17.870    0.000    1.544    0.760
    imtcjob                 0.756    0.042   18.018    0.000    1.266    0.603
    rlgueim                 0.527    0.051   10.285    0.000    0.883    0.443

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.424    0.135    3.149    0.002    0.424    0.180
  Universalism ~~                                                             
    TraditnCnfrmty          0.304    0.028   10.974    0.000    0.833    0.833
    PerceivedThret         -0.061    0.040   -1.505    0.132   -0.061   -0.061
  TraditionConformity ~~                                                      
    PerceivedThret          0.059    0.042    1.405    0.160    0.058    0.058

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.538    0.028  159.514    0.000    4.538    4.274
   .ipudrst           4.252    0.029  145.438    0.000    4.252    3.897
   .impenv            4.688    0.028  166.708    0.000    4.688    4.467
   .imptrad           4.416    0.034  129.035    0.000    4.416    3.457
   .ipfrule           4.311    0.030  144.025    0.000    4.311    3.859
   .ipbhprp           4.477    0.031  142.505    0.000    4.477    3.818
   .imbgeco           6.317    0.056  113.018    0.000    6.317    3.028
   .imueclt           6.115    0.054  112.277    0.000    6.115    3.008
   .imtcjob           6.556    0.056  116.518    0.000    6.556    3.122
   .rlgueim           6.042    0.053  113.304    0.000    6.042    3.036
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.769    0.052   14.837    0.000    0.769    0.683
   .ipudrst           0.842    0.046   18.413    0.000    0.842    0.708
   .impenv            0.687    0.041   16.774    0.000    0.687    0.624
   .imptrad           1.259    0.065   19.227    0.000    1.259    0.772
   .ipfrule           0.826    0.052   15.934    0.000    0.826    0.662
   .ipbhprp           0.751    0.059   12.817    0.000    0.751    0.546
   .imbgeco           1.548    0.176    8.789    0.000    1.548    0.356
   .imueclt           1.748    0.167   10.467    0.000    1.748    0.423
   .imtcjob           2.808    0.162   17.369    0.000    2.808    0.637
   .rlgueim           3.183    0.184   17.274    0.000    3.183    0.803
    Universalism      0.358    0.043    8.394    0.000    1.000    1.000
    TraditnCnfrmty    0.373    0.051    7.344    0.000    1.000    1.000
    PerceivedThret    2.803    0.204   13.711    0.000    1.000    1.000


Group 2 [DE]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.482    0.504
    ipudrst                 1.014    0.090   11.266    0.000    0.489    0.556
    impenv                  0.918    0.083   11.098    0.000    0.442    0.464
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.653    0.476
    ipfrule                 1.228    0.088   13.883    0.000    0.802    0.572
    ipbhprp                 1.289    0.098   13.146    0.000    0.841    0.645
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               1.857    0.801
    imueclt                 0.941    0.039   24.318    0.000    1.748    0.741
    imtcjob                 0.705    0.025   27.981    0.000    1.309    0.639
    rlgueim                 0.559    0.032   17.465    0.000    1.039    0.501

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.776    0.100    7.799    0.000    0.776    0.273
  Universalism ~~                                                             
    TraditnCnfrmty          0.065    0.013    5.175    0.000    0.208    0.208
    PerceivedThret         -0.373    0.038   -9.755    0.000   -0.416   -0.416
  TraditionConformity ~~                                                      
    PerceivedThret          0.283    0.043    6.578    0.000    0.233    0.233

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           5.126    0.019  276.841    0.000    5.126    5.357
   .ipudrst           4.961    0.017  291.447    0.000    4.961    5.639
   .impenv            4.996    0.018  271.054    0.000    4.996    5.245
   .imptrad           4.028    0.027  151.748    0.000    4.028    2.936
   .ipfrule           3.433    0.027  126.693    0.000    3.433    2.451
   .ipbhprp           4.072    0.025  161.233    0.000    4.072    3.120
   .imbgeco           4.203    0.045   93.648    0.000    4.203    1.812
   .imueclt           3.752    0.046   82.188    0.000    3.752    1.590
   .imtcjob           4.417    0.040  111.454    0.000    4.417    2.157
   .rlgueim           4.758    0.040  118.646    0.000    4.758    2.296
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.683    0.040   17.006    0.000    0.683    0.746
   .ipudrst           0.535    0.029   18.522    0.000    0.535    0.691
   .impenv            0.712    0.031   22.721    0.000    0.712    0.784
   .imptrad           1.456    0.054   26.745    0.000    1.456    0.774
   .ipfrule           1.318    0.056   23.689    0.000    1.318    0.672
   .ipbhprp           0.996    0.057   17.346    0.000    0.996    0.585
   .imbgeco           1.931    0.143   13.512    0.000    1.931    0.359
   .imueclt           2.510    0.144   17.435    0.000    2.510    0.451
   .imtcjob           2.483    0.116   21.351    0.000    2.483    0.592
   .rlgueim           3.217    0.116   27.792    0.000    3.217    0.749
    Universalism      0.232    0.029    7.884    0.000    1.000    1.000
    TraditnCnfrmty    0.426    0.047    9.043    0.000    1.000    1.000
    PerceivedThret    3.448    0.187   18.413    0.000    1.000    1.000


Group 3 [GB]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.594    0.563
    ipudrst                 1.109    0.098   11.275    0.000    0.659    0.625
    impenv                  0.744    0.091    8.146    0.000    0.443    0.409
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.738    0.512
    ipfrule                 1.142    0.095   11.963    0.000    0.842    0.589
    ipbhprp                 1.114    0.090   12.407    0.000    0.822    0.639
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               2.052    0.826
    imueclt                 1.057    0.038   28.075    0.000    2.169    0.808
    imtcjob                 0.733    0.029   25.020    0.000    1.504    0.655
    rlgueim                 0.631    0.036   17.776    0.000    1.295    0.567

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.798    0.154    5.171    0.000    0.798    0.268
  Universalism ~~                                                             
    TraditnCnfrmty          0.106    0.022    4.786    0.000    0.241    0.241
    PerceivedThret         -0.490    0.063   -7.796    0.000   -0.402   -0.402
  TraditionConformity ~~                                                      
    PerceivedThret          0.328    0.059    5.521    0.000    0.217    0.217

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.994    0.025  199.417    0.000    4.994    4.727
   .ipudrst           4.716    0.025  188.538    0.000    4.716    4.469
   .impenv            4.849    0.026  188.959    0.000    4.849    4.479
   .imptrad           4.142    0.034  121.354    0.000    4.142    2.876
   .ipfrule           3.624    0.034  106.911    0.000    3.624    2.534
   .ipbhprp           4.365    0.030  143.127    0.000    4.365    3.392
   .imbgeco           5.097    0.059   86.586    0.000    5.097    2.052
   .imueclt           5.002    0.064   78.633    0.000    5.002    1.864
   .imtcjob           5.271    0.054   96.863    0.000    5.271    2.296
   .rlgueim           5.592    0.054  103.308    0.000    5.592    2.449
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.763    0.050   15.275    0.000    0.763    0.683
   .ipudrst           0.679    0.047   14.457    0.000    0.679    0.610
   .impenv            0.976    0.043   22.514    0.000    0.976    0.833
   .imptrad           1.529    0.068   22.449    0.000    1.529    0.737
   .ipfrule           1.335    0.074   18.073    0.000    1.335    0.653
   .ipbhprp           0.980    0.065   14.984    0.000    0.980    0.592
   .imbgeco           1.958    0.159   12.297    0.000    1.958    0.317
   .imueclt           2.498    0.205   12.164    0.000    2.498    0.347
   .imtcjob           3.008    0.156   19.338    0.000    3.008    0.571
   .rlgueim           3.538    0.167   21.171    0.000    3.538    0.678
    Universalism      0.353    0.047    7.566    0.000    1.000    1.000
    TraditnCnfrmty    0.544    0.065    8.340    0.000    1.000    1.000
    PerceivedThret    4.211    0.223   18.859    0.000    1.000    1.000

Fixed factor method

scfa_fit_config2 <- cfa(
  model = "
    Universalism =~ c(NA, NA, NA)*ipeqopt + ipudrst + impenv
    Universalism ~~ c(1, 1, 1)*Universalism
    
    TraditionConformity =~ c(NA, NA, NA)*imptrad + ipfrule + ipbhprp
    TraditionConformity ~~ c(1, 1, 1)*TraditionConformity
    
    PerceivedThreat =~ c(NA, NA, NA)*imbgeco + imueclt + imtcjob + rlgueim
    imueclt ~~ rlgueim
    PerceivedThreat ~~ c(1, 1, 1)*PerceivedThreat
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = scfa_fit_config2,
  fit.measures = T,
  standardized = T
)
lavaan 0.6-12 ended normally after 78 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                       102

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               555.173     477.046
  Degrees of freedom                                93          93
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.164
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                          82.379      70.786
    DE                                         248.043     213.137
    GB                                         224.751     193.123

Model Test Baseline Model:

  Test statistic                             11661.448    9234.176
  Degrees of freedom                               135         135
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.263

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.960       0.958
  Tucker-Lewis Index (TLI)                       0.942       0.939
                                                                  
  Robust Comparative Fit Index (CFI)                         0.961
  Robust Tucker-Lewis Index (TLI)                            0.944

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)            -101025.222 -101025.222
  Scaling correction factor                                  1.218
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)    -100747.635 -100747.635
  Scaling correction factor                                  1.192
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                              202254.443  202254.443
  Bayesian (BIC)                            202935.107  202935.107
  Sample-size adjusted Bayesian (BIC)       202610.980  202610.980

Root Mean Square Error of Approximation:

  RMSEA                                          0.051       0.046
  90 Percent confidence interval - lower         0.046       0.042
  90 Percent confidence interval - upper         0.055       0.050
  P-value RMSEA <= 0.05                          0.410       0.956
                                                                  
  Robust RMSEA                                               0.050
  90 Percent confidence interval - lower                     0.045
  90 Percent confidence interval - upper                     0.054

Standardized Root Mean Square Residual:

  SRMR                                           0.034       0.034

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 0.598    0.036   16.788    0.000    0.598    0.563
    ipudrst                 0.590    0.037   15.918    0.000    0.590    0.541
    impenv                  0.644    0.034   18.761    0.000    0.644    0.613
  TraditionConformity =~                                                      
    imptrad                 0.610    0.042   14.687    0.000    0.610    0.478
    ipfrule                 0.649    0.038   17.268    0.000    0.649    0.581
    ipbhprp                 0.790    0.038   20.642    0.000    0.790    0.673
  PerceivedThreat =~                                                          
    imbgeco                 1.674    0.061   27.423    0.000    1.674    0.803
    imueclt                 1.544    0.062   24.955    0.000    1.544    0.760
    imtcjob                 1.266    0.063   20.214    0.000    1.266    0.603
    rlgueim                 0.883    0.074   11.876    0.000    0.883    0.443

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.424    0.135    3.149    0.002    0.424    0.180
  Universalism ~~                                                             
    TraditnCnfrmty          0.833    0.039   21.543    0.000    0.833    0.833
    PerceivedThret         -0.061    0.040   -1.522    0.128   -0.061   -0.061
  TraditionConformity ~~                                                      
    PerceivedThret          0.058    0.041    1.407    0.159    0.058    0.058

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.538    0.028  159.514    0.000    4.538    4.274
   .ipudrst           4.252    0.029  145.438    0.000    4.252    3.897
   .impenv            4.688    0.028  166.708    0.000    4.688    4.467
   .imptrad           4.416    0.034  129.035    0.000    4.416    3.457
   .ipfrule           4.311    0.030  144.025    0.000    4.311    3.859
   .ipbhprp           4.477    0.031  142.505    0.000    4.477    3.818
   .imbgeco           6.317    0.056  113.018    0.000    6.317    3.028
   .imueclt           6.115    0.054  112.277    0.000    6.115    3.008
   .imtcjob           6.556    0.056  116.518    0.000    6.556    3.122
   .rlgueim           6.042    0.053  113.304    0.000    6.042    3.036
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    Universalism      1.000                               1.000    1.000
    TraditnCnfrmty    1.000                               1.000    1.000
    PerceivedThret    1.000                               1.000    1.000
   .ipeqopt           0.769    0.052   14.837    0.000    0.769    0.683
   .ipudrst           0.842    0.046   18.413    0.000    0.842    0.708
   .impenv            0.687    0.041   16.774    0.000    0.687    0.624
   .imptrad           1.259    0.065   19.227    0.000    1.259    0.772
   .ipfrule           0.826    0.052   15.934    0.000    0.826    0.662
   .ipbhprp           0.751    0.059   12.817    0.000    0.751    0.546
   .imbgeco           1.548    0.176    8.789    0.000    1.548    0.356
   .imueclt           1.748    0.167   10.467    0.000    1.748    0.423
   .imtcjob           2.808    0.162   17.369    0.000    2.808    0.637
   .rlgueim           3.183    0.184   17.274    0.000    3.183    0.803


Group 2 [DE]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 0.482    0.031   15.768    0.000    0.482    0.504
    ipudrst                 0.489    0.028   17.513    0.000    0.489    0.556
    impenv                  0.442    0.029   15.198    0.000    0.442    0.464
  TraditionConformity =~                                                      
    imptrad                 0.653    0.036   18.086    0.000    0.653    0.476
    ipfrule                 0.802    0.035   22.658    0.000    0.802    0.572
    ipbhprp                 0.841    0.035   23.801    0.000    0.841    0.645
  PerceivedThreat =~                                                          
    imbgeco                 1.857    0.050   36.827    0.000    1.857    0.801
    imueclt                 1.748    0.052   33.787    0.000    1.748    0.741
    imtcjob                 1.309    0.049   26.851    0.000    1.309    0.639
    rlgueim                 1.039    0.050   20.898    0.000    1.039    0.501

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.776    0.100    7.799    0.000    0.776    0.273
  Universalism ~~                                                             
    TraditnCnfrmty          0.208    0.038    5.419    0.000    0.208    0.208
    PerceivedThret         -0.416    0.033  -12.695    0.000   -0.416   -0.416
  TraditionConformity ~~                                                      
    PerceivedThret          0.233    0.031    7.572    0.000    0.233    0.233

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           5.126    0.019  276.841    0.000    5.126    5.357
   .ipudrst           4.961    0.017  291.447    0.000    4.961    5.639
   .impenv            4.996    0.018  271.054    0.000    4.996    5.245
   .imptrad           4.028    0.027  151.748    0.000    4.028    2.936
   .ipfrule           3.433    0.027  126.693    0.000    3.433    2.451
   .ipbhprp           4.072    0.025  161.233    0.000    4.072    3.120
   .imbgeco           4.203    0.045   93.648    0.000    4.203    1.812
   .imueclt           3.752    0.046   82.188    0.000    3.752    1.590
   .imtcjob           4.417    0.040  111.454    0.000    4.417    2.157
   .rlgueim           4.758    0.040  118.646    0.000    4.758    2.296
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    Universalism      1.000                               1.000    1.000
    TraditnCnfrmty    1.000                               1.000    1.000
    PerceivedThret    1.000                               1.000    1.000
   .ipeqopt           0.683    0.040   17.006    0.000    0.683    0.746
   .ipudrst           0.535    0.029   18.522    0.000    0.535    0.691
   .impenv            0.712    0.031   22.721    0.000    0.712    0.784
   .imptrad           1.456    0.054   26.745    0.000    1.456    0.774
   .ipfrule           1.318    0.056   23.689    0.000    1.318    0.672
   .ipbhprp           0.996    0.057   17.346    0.000    0.996    0.585
   .imbgeco           1.931    0.143   13.512    0.000    1.931    0.359
   .imueclt           2.510    0.144   17.435    0.000    2.510    0.451
   .imtcjob           2.483    0.116   21.351    0.000    2.483    0.592
   .rlgueim           3.217    0.116   27.792    0.000    3.217    0.749


Group 3 [GB]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 0.594    0.039   15.133    0.000    0.594    0.563
    ipudrst                 0.659    0.039   17.100    0.000    0.659    0.625
    impenv                  0.443    0.041   10.792    0.000    0.443    0.409
  TraditionConformity =~                                                      
    imptrad                 0.738    0.044   16.680    0.000    0.738    0.512
    ipfrule                 0.842    0.044   19.068    0.000    0.842    0.589
    ipbhprp                 0.822    0.041   20.185    0.000    0.822    0.639
  PerceivedThreat =~                                                          
    imbgeco                 2.052    0.054   37.718    0.000    2.052    0.826
    imueclt                 2.169    0.059   37.074    0.000    2.169    0.808
    imtcjob                 1.504    0.058   25.804    0.000    1.504    0.655
    rlgueim                 1.295    0.063   20.558    0.000    1.295    0.567

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.798    0.154    5.171    0.000    0.798    0.268
  Universalism ~~                                                             
    TraditnCnfrmty          0.241    0.050    4.856    0.000    0.241    0.241
    PerceivedThret         -0.402    0.036  -11.317    0.000   -0.402   -0.402
  TraditionConformity ~~                                                      
    PerceivedThret          0.217    0.036    6.049    0.000    0.217    0.217

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.994    0.025  199.417    0.000    4.994    4.727
   .ipudrst           4.716    0.025  188.538    0.000    4.716    4.469
   .impenv            4.849    0.026  188.959    0.000    4.849    4.479
   .imptrad           4.142    0.034  121.354    0.000    4.142    2.876
   .ipfrule           3.624    0.034  106.911    0.000    3.624    2.534
   .ipbhprp           4.365    0.030  143.127    0.000    4.365    3.392
   .imbgeco           5.097    0.059   86.586    0.000    5.097    2.052
   .imueclt           5.002    0.064   78.633    0.000    5.002    1.864
   .imtcjob           5.271    0.054   96.863    0.000    5.271    2.296
   .rlgueim           5.592    0.054  103.308    0.000    5.592    2.449
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    Universalism      1.000                               1.000    1.000
    TraditnCnfrmty    1.000                               1.000    1.000
    PerceivedThret    1.000                               1.000    1.000
   .ipeqopt           0.763    0.050   15.275    0.000    0.763    0.683
   .ipudrst           0.679    0.047   14.457    0.000    0.679    0.610
   .impenv            0.976    0.043   22.514    0.000    0.976    0.833
   .imptrad           1.529    0.068   22.449    0.000    1.529    0.737
   .ipfrule           1.335    0.074   18.073    0.000    1.335    0.653
   .ipbhprp           0.980    0.065   14.985    0.000    0.980    0.592
   .imbgeco           1.958    0.159   12.297    0.000    1.958    0.317
   .imueclt           2.498    0.205   12.164    0.000    2.498    0.347
   .imtcjob           3.008    0.156   19.338    0.000    3.008    0.571
   .rlgueim           3.538    0.167   21.171    0.000    3.538    0.678

Metric model

Reference indicator method

scfa_fit_metric <- cfa(
  model = "
    Universalism =~ ipeqopt + ipudrst + impenv
    TraditionConformity =~ imptrad + ipfrule + ipbhprp
    PerceivedThreat =~ imbgeco + imueclt + imtcjob + rlgueim
    imueclt ~~ rlgueim
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  group.equal = "loadings",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = scfa_fit_metric,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 107 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                       102
  Number of equality constraints                    14

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               592.976     506.441
  Degrees of freedom                               107         107
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.171
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                          98.036      83.729
    DE                                         250.736     214.145
    GB                                         244.203     208.566

Model Test Baseline Model:

  Test statistic                             11661.448    9234.176
  Degrees of freedom                               135         135
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.263

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.958       0.956
  Tucker-Lewis Index (TLI)                       0.947       0.945
                                                                  
  Robust Comparative Fit Index (CFI)                         0.959
  Robust Tucker-Lewis Index (TLI)                            0.949

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)            -101044.123 -101044.123
  Scaling correction factor                                  1.051
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)    -100747.635 -100747.635
  Scaling correction factor                                  1.192
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                              202264.246  202264.246
  Bayesian (BIC)                            202851.485  202851.485
  Sample-size adjusted Bayesian (BIC)       202571.846  202571.846

Root Mean Square Error of Approximation:

  RMSEA                                          0.048       0.044
  90 Percent confidence interval - lower         0.045       0.040
  90 Percent confidence interval - upper         0.052       0.047
  P-value RMSEA <= 0.05                          0.765       0.998
                                                                  
  Robust RMSEA                                               0.047
  90 Percent confidence interval - lower                     0.043
  90 Percent confidence interval - upper                     0.052

Standardized Root Mean Square Residual:

  SRMR                                           0.036       0.036

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.617    0.578
    ipudrst (.p2.)          1.035    0.051   20.374    0.000    0.638    0.576
    impenv  (.p3.)          0.929    0.050   18.493    0.000    0.573    0.558
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.604    0.473
    ipfrule (.p5.)          1.145    0.053   21.580    0.000    0.692    0.611
    ipbhprp (.p6.)          1.244    0.059   21.101    0.000    0.751    0.648
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               1.638    0.787
    imueclt (.p8.)          0.981    0.025   39.769    0.000    1.607    0.783
    imtcjob (.p9.)          0.725    0.017   41.593    0.000    1.187    0.574
    rlgueim (.10.)          0.580    0.022   26.426    0.000    0.950    0.473

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.340    0.115    2.959    0.003    0.340    0.151
  Universalism ~~                                                             
    TraditnCnfrmty          0.312    0.022   14.132    0.000    0.837    0.837
    PerceivedThret         -0.066    0.040   -1.620    0.105   -0.065   -0.065
  TraditionConformity ~~                                                      
    PerceivedThret          0.063    0.041    1.528    0.126    0.063    0.063

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.538    0.028  159.514    0.000    4.538    4.250
   .ipudrst           4.252    0.029  145.438    0.000    4.252    3.838
   .impenv            4.688    0.028  166.708    0.000    4.688    4.561
   .imptrad           4.416    0.034  129.035    0.000    4.416    3.459
   .ipfrule           4.311    0.030  144.025    0.000    4.311    3.810
   .ipbhprp           4.477    0.031  142.505    0.000    4.477    3.861
   .imbgeco           6.317    0.056  113.018    0.000    6.317    3.036
   .imueclt           6.115    0.054  112.277    0.000    6.115    2.980
   .imtcjob           6.556    0.056  116.518    0.000    6.556    3.171
   .rlgueim           6.042    0.053  113.304    0.000    6.042    3.010
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.759    0.049   15.407    0.000    0.759    0.666
   .ipudrst           0.820    0.043   18.876    0.000    0.820    0.668
   .impenv            0.728    0.040   18.418    0.000    0.728    0.689
   .imptrad           1.264    0.061   20.747    0.000    1.264    0.776
   .ipfrule           0.802    0.048   16.654    0.000    0.802    0.626
   .ipbhprp           0.781    0.053   14.667    0.000    0.781    0.580
   .imbgeco           1.647    0.137   11.982    0.000    1.647    0.380
   .imueclt           1.628    0.137   11.923    0.000    1.628    0.387
   .imtcjob           2.867    0.147   19.443    0.000    2.867    0.671
   .rlgueim           3.126    0.169   18.499    0.000    3.126    0.776
    Universalism      0.381    0.035   11.029    0.000    1.000    1.000
    TraditnCnfrmty    0.365    0.035   10.558    0.000    1.000    1.000
    PerceivedThret    2.682    0.150   17.868    0.000    1.000    1.000


Group 2 [DE]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.476    0.498
    ipudrst (.p2.)          1.035    0.051   20.374    0.000    0.493    0.560
    impenv  (.p3.)          0.929    0.050   18.493    0.000    0.443    0.465
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.678    0.492
    ipfrule (.p5.)          1.145    0.053   21.580    0.000    0.776    0.556
    ipbhprp (.p6.)          1.244    0.059   21.101    0.000    0.843    0.646
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               1.817    0.788
    imueclt (.p8.)          0.981    0.025   39.769    0.000    1.783    0.752
    imtcjob (.p9.)          0.725    0.017   41.593    0.000    1.317    0.641
    rlgueim (.10.)          0.580    0.022   26.426    0.000    1.054    0.508

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.734    0.090    8.164    0.000    0.734    0.263
  Universalism ~~                                                             
    TraditnCnfrmty          0.068    0.013    5.412    0.000    0.210    0.210
    PerceivedThret         -0.365    0.033  -11.200    0.000   -0.421   -0.421
  TraditionConformity ~~                                                      
    PerceivedThret          0.293    0.040    7.395    0.000    0.238    0.238

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           5.126    0.019  276.841    0.000    5.126    5.362
   .ipudrst           4.961    0.017  291.447    0.000    4.961    5.635
   .impenv            4.996    0.018  271.054    0.000    4.996    5.244
   .imptrad           4.028    0.027  151.748    0.000    4.028    2.924
   .ipfrule           3.433    0.027  126.693    0.000    3.433    2.461
   .ipbhprp           4.072    0.025  161.233    0.000    4.072    3.119
   .imbgeco           4.203    0.045   93.648    0.000    4.203    1.823
   .imueclt           3.752    0.046   82.188    0.000    3.752    1.583
   .imtcjob           4.417    0.040  111.454    0.000    4.417    2.151
   .rlgueim           4.758    0.040  118.646    0.000    4.758    2.294
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.687    0.038   18.183    0.000    0.687    0.752
   .ipudrst           0.532    0.027   19.544    0.000    0.532    0.686
   .impenv            0.712    0.030   24.129    0.000    0.712    0.784
   .imptrad           1.438    0.048   29.723    0.000    1.438    0.758
   .ipfrule           1.343    0.046   29.310    0.000    1.343    0.691
   .ipbhprp           0.994    0.047   21.134    0.000    0.994    0.583
   .imbgeco           2.014    0.120   16.768    0.000    2.014    0.379
   .imueclt           2.442    0.122   20.065    0.000    2.442    0.435
   .imtcjob           2.485    0.110   22.552    0.000    2.485    0.589
   .rlgueim           3.190    0.111   28.856    0.000    3.190    0.742
    Universalism      0.227    0.021   10.774    0.000    1.000    1.000
    TraditnCnfrmty    0.459    0.035   13.238    0.000    1.000    1.000
    PerceivedThret    3.302    0.155   21.330    0.000    1.000    1.000


Group 3 [GB]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.576    0.547
    ipudrst (.p2.)          1.035    0.051   20.374    0.000    0.596    0.572
    impenv  (.p3.)          0.929    0.050   18.493    0.000    0.535    0.485
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.703    0.491
    ipfrule (.p5.)          1.145    0.053   21.580    0.000    0.805    0.565
    ipbhprp (.p6.)          1.244    0.059   21.101    0.000    0.874    0.674
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               2.115    0.845
    imueclt (.p8.)          0.981    0.025   39.769    0.000    2.075    0.784
    imtcjob (.p9.)          0.725    0.017   41.593    0.000    1.533    0.663
    rlgueim (.10.)          0.580    0.022   26.426    0.000    1.227    0.542

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.929    0.137    6.794    0.000    0.929    0.297
  Universalism ~~                                                             
    TraditnCnfrmty          0.107    0.019    5.503    0.000    0.265    0.265
    PerceivedThret         -0.480    0.051   -9.426    0.000   -0.394   -0.394
  TraditionConformity ~~                                                      
    PerceivedThret          0.310    0.055    5.632    0.000    0.209    0.209

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.994    0.025  199.417    0.000    4.994    4.742
   .ipudrst           4.716    0.025  188.538    0.000    4.716    4.526
   .impenv            4.849    0.026  188.959    0.000    4.849    4.396
   .imptrad           4.142    0.034  121.354    0.000    4.142    2.893
   .ipfrule           3.624    0.034  106.911    0.000    3.624    2.545
   .ipbhprp           4.365    0.030  143.127    0.000    4.365    3.366
   .imbgeco           5.097    0.059   86.586    0.000    5.097    2.035
   .imueclt           5.002    0.064   78.633    0.000    5.002    1.890
   .imtcjob           5.271    0.054   96.863    0.000    5.271    2.281
   .rlgueim           5.592    0.054  103.308    0.000    5.592    2.469
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.778    0.044   17.492    0.000    0.778    0.701
   .ipudrst           0.731    0.040   18.078    0.000    0.731    0.673
   .impenv            0.930    0.041   22.745    0.000    0.930    0.765
   .imptrad           1.556    0.057   27.244    0.000    1.556    0.759
   .ipfrule           1.379    0.057   24.316    0.000    1.379    0.680
   .ipbhprp           0.917    0.055   16.687    0.000    0.917    0.545
   .imbgeco           1.799    0.137   13.116    0.000    1.799    0.287
   .imueclt           2.698    0.177   15.278    0.000    2.698    0.385
   .imtcjob           2.988    0.145   20.555    0.000    2.988    0.560
   .rlgueim           3.624    0.155   23.337    0.000    3.624    0.706
    Universalism      0.331    0.033    9.923    0.000    1.000    1.000
    TraditnCnfrmty    0.494    0.043   11.565    0.000    1.000    1.000
    PerceivedThret    4.473    0.192   23.306    0.000    1.000    1.000

Fixed factor method

Note! Only in one group does the variance of the latent factor for model identification have to be fixed at 1. In the other groups, factor variance is freely estimated.

scfa_fit_metric2 <- cfa(
   model = "
    Universalism =~ c(NA,NA,NA)*ipeqopt + c(a,a,a)*ipeqopt + c(b,b,b)*ipudrst + c(c,c,c)*impenv
    Universalism ~~ c(1,NA,NA)*Universalism
    
    TraditionConformity =~ c(NA,NA,NA)*imptrad + c(d,d,d)*imptrad + c(e,e,e)*ipfrule + c(f,f,f)*ipbhprp
    TraditionConformity ~~ c(1,NA,NA)*TraditionConformity
    
    PerceivedThreat =~ c(NA,NA,NA)*imbgeco + c(g,g,g)*imbgeco + c(h,h,h)*imueclt + c(i,i,i)*imtcjob + c(j,j,j)*rlgueim
    imueclt ~~ rlgueim
    PerceivedThreat ~~ c(1, NA, NA)*PerceivedThreat
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = scfa_fit_metric2,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 88 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                       108
  Number of equality constraints                    20

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               592.976     506.441
  Degrees of freedom                               107         107
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.171
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                          98.036      83.729
    DE                                         250.736     214.145
    GB                                         244.203     208.566

Model Test Baseline Model:

  Test statistic                             11661.448    9234.176
  Degrees of freedom                               135         135
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.263

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.958       0.956
  Tucker-Lewis Index (TLI)                       0.947       0.945
                                                                  
  Robust Comparative Fit Index (CFI)                         0.959
  Robust Tucker-Lewis Index (TLI)                            0.949

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)            -101044.123 -101044.123
  Scaling correction factor                                  0.992
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)    -100747.635 -100747.635
  Scaling correction factor                                  1.192
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                              202264.246  202264.246
  Bayesian (BIC)                            202851.485  202851.485
  Sample-size adjusted Bayesian (BIC)       202571.846  202571.846

Root Mean Square Error of Approximation:

  RMSEA                                          0.048       0.044
  90 Percent confidence interval - lower         0.045       0.040
  90 Percent confidence interval - upper         0.052       0.047
  P-value RMSEA <= 0.05                          0.765       0.998
                                                                  
  Robust RMSEA                                               0.047
  90 Percent confidence interval - lower                     0.043
  90 Percent confidence interval - upper                     0.052

Standardized Root Mean Square Residual:

  SRMR                                           0.036       0.036

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt    (a)          0.617    0.028   22.058    0.000    0.617    0.578
    ipudrst    (b)          0.638    0.027   23.561    0.000    0.638    0.576
    impenv     (c)          0.573    0.029   19.497    0.000    0.573    0.558
  TraditionConformity =~                                                      
    imptrad    (d)          0.604    0.029   21.115    0.000    0.604    0.473
    ipfrule    (e)          0.692    0.028   24.890    0.000    0.692    0.611
    ipbhprp    (f)          0.751    0.031   23.911    0.000    0.751    0.648
  PerceivedThreat =~                                                          
    imbgeco    (g)          1.638    0.046   35.736    0.000    1.638    0.787
    imueclt    (h)          1.607    0.044   36.319    0.000    1.607    0.783
    imtcjob    (i)          1.187    0.039   30.213    0.000    1.187    0.574
    rlgueim    (j)          0.950    0.037   25.987    0.000    0.950    0.473

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.340    0.115    2.959    0.003    0.340    0.151
  Universalism ~~                                                             
    TraditnCnfrmty          0.837    0.039   21.461    0.000    0.837    0.837
    PerceivedThret         -0.065    0.040   -1.631    0.103   -0.065   -0.065
  TraditionConformity ~~                                                      
    PerceivedThret          0.063    0.041    1.538    0.124    0.063    0.063

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.538    0.028  159.514    0.000    4.538    4.250
   .ipudrst           4.252    0.029  145.438    0.000    4.252    3.838
   .impenv            4.688    0.028  166.708    0.000    4.688    4.561
   .imptrad           4.416    0.034  129.035    0.000    4.416    3.459
   .ipfrule           4.311    0.030  144.025    0.000    4.311    3.810
   .ipbhprp           4.477    0.031  142.505    0.000    4.477    3.861
   .imbgeco           6.317    0.056  113.018    0.000    6.317    3.036
   .imueclt           6.115    0.054  112.277    0.000    6.115    2.980
   .imtcjob           6.556    0.056  116.518    0.000    6.556    3.171
   .rlgueim           6.042    0.053  113.304    0.000    6.042    3.010
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    Universalism      1.000                               1.000    1.000
    TraditnCnfrmty    1.000                               1.000    1.000
    PerceivedThret    1.000                               1.000    1.000
   .ipeqopt           0.759    0.049   15.407    0.000    0.759    0.666
   .ipudrst           0.820    0.043   18.876    0.000    0.820    0.668
   .impenv            0.728    0.040   18.418    0.000    0.728    0.689
   .imptrad           1.264    0.061   20.747    0.000    1.264    0.776
   .ipfrule           0.802    0.048   16.654    0.000    0.802    0.626
   .ipbhprp           0.781    0.053   14.667    0.000    0.781    0.580
   .imbgeco           1.647    0.137   11.982    0.000    1.647    0.380
   .imueclt           1.628    0.137   11.923    0.000    1.628    0.387
   .imtcjob           2.867    0.147   19.443    0.000    2.867    0.671
   .rlgueim           3.126    0.169   18.499    0.000    3.126    0.776


Group 2 [DE]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt    (a)          0.617    0.028   22.058    0.000    0.476    0.498
    ipudrst    (b)          0.638    0.027   23.561    0.000    0.493    0.560
    impenv     (c)          0.573    0.029   19.497    0.000    0.443    0.465
  TraditionConformity =~                                                      
    imptrad    (d)          0.604    0.029   21.115    0.000    0.678    0.492
    ipfrule    (e)          0.692    0.028   24.890    0.000    0.776    0.556
    ipbhprp    (f)          0.751    0.031   23.911    0.000    0.843    0.646
  PerceivedThreat =~                                                          
    imbgeco    (g)          1.638    0.046   35.736    0.000    1.817    0.788
    imueclt    (h)          1.607    0.044   36.319    0.000    1.783    0.752
    imtcjob    (i)          1.187    0.039   30.213    0.000    1.317    0.641
    rlgueim    (j)          0.950    0.037   25.987    0.000    1.054    0.508

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.734    0.090    8.164    0.000    0.734    0.263
  Universalism ~~                                                             
    TraditnCnfrmty          0.182    0.035    5.244    0.000    0.210    0.210
    PerceivedThret         -0.361    0.034  -10.605    0.000   -0.421   -0.421
  TraditionConformity ~~                                                      
    PerceivedThret          0.297    0.040    7.373    0.000    0.238    0.238

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           5.126    0.019  276.841    0.000    5.126    5.362
   .ipudrst           4.961    0.017  291.447    0.000    4.961    5.635
   .impenv            4.996    0.018  271.054    0.000    4.996    5.244
   .imptrad           4.028    0.027  151.748    0.000    4.028    2.924
   .ipfrule           3.433    0.027  126.693    0.000    3.433    2.461
   .ipbhprp           4.072    0.025  161.233    0.000    4.072    3.119
   .imbgeco           4.203    0.045   93.648    0.000    4.203    1.823
   .imueclt           3.752    0.046   82.188    0.000    3.752    1.583
   .imtcjob           4.417    0.040  111.454    0.000    4.417    2.151
   .rlgueim           4.758    0.040  118.646    0.000    4.758    2.294
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    Universalism      0.596    0.059   10.089    0.000    1.000    1.000
    TraditnCnfrmty    1.258    0.105   11.983    0.000    1.000    1.000
    PerceivedThret    1.231    0.076   16.111    0.000    1.000    1.000
   .ipeqopt           0.687    0.038   18.183    0.000    0.687    0.752
   .ipudrst           0.532    0.027   19.544    0.000    0.532    0.686
   .impenv            0.712    0.030   24.129    0.000    0.712    0.784
   .imptrad           1.438    0.048   29.723    0.000    1.438    0.758
   .ipfrule           1.343    0.046   29.310    0.000    1.343    0.691
   .ipbhprp           0.994    0.047   21.134    0.000    0.994    0.583
   .imbgeco           2.014    0.120   16.768    0.000    2.014    0.379
   .imueclt           2.442    0.122   20.065    0.000    2.442    0.435
   .imtcjob           2.485    0.110   22.552    0.000    2.485    0.589
   .rlgueim           3.190    0.111   28.856    0.000    3.190    0.742


Group 3 [GB]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt    (a)          0.617    0.028   22.058    0.000    0.576    0.547
    ipudrst    (b)          0.638    0.027   23.561    0.000    0.596    0.572
    impenv     (c)          0.573    0.029   19.497    0.000    0.535    0.485
  TraditionConformity =~                                                      
    imptrad    (d)          0.604    0.029   21.115    0.000    0.703    0.491
    ipfrule    (e)          0.692    0.028   24.890    0.000    0.805    0.565
    ipbhprp    (f)          0.751    0.031   23.911    0.000    0.874    0.674
  PerceivedThreat =~                                                          
    imbgeco    (g)          1.638    0.046   35.736    0.000    2.115    0.845
    imueclt    (h)          1.607    0.044   36.319    0.000    2.075    0.784
    imtcjob    (i)          1.187    0.039   30.213    0.000    1.533    0.663
    rlgueim    (j)          0.950    0.037   25.987    0.000    1.227    0.542

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.929    0.137    6.794    0.000    0.929    0.297
  Universalism ~~                                                             
    TraditnCnfrmty          0.288    0.054    5.333    0.000    0.265    0.265
    PerceivedThret         -0.475    0.051   -9.359    0.000   -0.394   -0.394
  TraditionConformity ~~                                                      
    PerceivedThret          0.314    0.056    5.599    0.000    0.209    0.209

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           4.994    0.025  199.417    0.000    4.994    4.742
   .ipudrst           4.716    0.025  188.538    0.000    4.716    4.526
   .impenv            4.849    0.026  188.959    0.000    4.849    4.396
   .imptrad           4.142    0.034  121.354    0.000    4.142    2.893
   .ipfrule           3.624    0.034  106.911    0.000    3.624    2.545
   .ipbhprp           4.365    0.030  143.127    0.000    4.365    3.366
   .imbgeco           5.097    0.059   86.586    0.000    5.097    2.035
   .imueclt           5.002    0.064   78.633    0.000    5.002    1.890
   .imtcjob           5.271    0.054   96.863    0.000    5.271    2.281
   .rlgueim           5.592    0.054  103.308    0.000    5.592    2.469
    Universalism      0.000                               0.000    0.000
    TraditnCnfrmty    0.000                               0.000    0.000
    PerceivedThret    0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    Universalism      0.870    0.094    9.227    0.000    1.000    1.000
    TraditnCnfrmty    1.354    0.120   11.288    0.000    1.000    1.000
    PerceivedThret    1.668    0.105   15.882    0.000    1.000    1.000
   .ipeqopt           0.778    0.044   17.492    0.000    0.778    0.701
   .ipudrst           0.731    0.040   18.078    0.000    0.731    0.673
   .impenv            0.930    0.041   22.745    0.000    0.930    0.765
   .imptrad           1.556    0.057   27.243    0.000    1.556    0.759
   .ipfrule           1.379    0.057   24.316    0.000    1.379    0.680
   .ipbhprp           0.917    0.055   16.687    0.000    0.917    0.545
   .imbgeco           1.799    0.137   13.116    0.000    1.799    0.287
   .imueclt           2.698    0.177   15.278    0.000    2.698    0.385
   .imtcjob           2.988    0.145   20.555    0.000    2.988    0.560
   .rlgueim           3.624    0.155   23.337    0.000    3.624    0.706

Scalar invariance

Reference indicator method

scfa_fit_scalar <- cfa(
  model = "
    Universalism =~ ipeqopt + ipudrst + impenv
    TraditionConformity =~ imptrad + ipfrule + ipbhprp
    PerceivedThreat =~ imbgeco + imueclt + imtcjob + rlgueim
    imueclt ~~ rlgueim
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  group.equal = c("loadings", "intercepts"),
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = scfa_fit_scalar,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 110 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                       108
  Number of equality constraints                    34

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               927.208     803.868
  Degrees of freedom                               121         121
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.153
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                         301.346     261.260
    DE                                         318.130     275.812
    GB                                         307.732     266.796

Model Test Baseline Model:

  Test statistic                             11661.448    9234.176
  Degrees of freedom                               135         135
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.263

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.930       0.925
  Tucker-Lewis Index (TLI)                       0.922       0.916
                                                                  
  Robust Comparative Fit Index (CFI)                         0.931
  Robust Tucker-Lewis Index (TLI)                            0.924

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)            -101211.239 -101211.239
  Scaling correction factor                                  0.860
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)    -100747.635 -100747.635
  Scaling correction factor                                  1.192
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                              202570.478  202570.478
  Bayesian (BIC)                            203064.293  203064.293
  Sample-size adjusted Bayesian (BIC)       202829.142  202829.142

Root Mean Square Error of Approximation:

  RMSEA                                          0.058       0.054
  90 Percent confidence interval - lower         0.055       0.051
  90 Percent confidence interval - upper         0.062       0.057
  P-value RMSEA <= 0.05                          0.000       0.027
                                                                  
  Robust RMSEA                                               0.058
  90 Percent confidence interval - lower                     0.054
  90 Percent confidence interval - upper                     0.062

Standardized Root Mean Square Residual:

  SRMR                                           0.044       0.044

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.620    0.580
    ipudrst (.p2.)          1.084    0.045   24.060    0.000    0.672    0.598
    impenv  (.p3.)          0.809    0.037   21.736    0.000    0.501    0.493
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.565    0.446
    ipfrule (.p5.)          1.328    0.060   22.072    0.000    0.750    0.643
    ipbhprp (.p6.)          1.179    0.048   24.780    0.000    0.666    0.580
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               1.579    0.766
    imueclt (.p8.)          1.029    0.018   57.376    0.000    1.625    0.791
    imtcjob (.p9.)          0.796    0.016   51.029    0.000    1.257    0.594
    rlgueim (.10.)          0.601    0.018   33.753    0.000    0.949    0.473

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.312    0.112    2.777    0.005    0.312    0.141
  Universalism ~~                                                             
    TraditnCnfrmty          0.297    0.022   13.651    0.000    0.847    0.847
    PerceivedThret         -0.070    0.040   -1.775    0.076   -0.072   -0.072
  TraditionConformity ~~                                                      
    PerceivedThret          0.060    0.038    1.578    0.114    0.067    0.067

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt (.28.)    4.566    0.026  176.237    0.000    4.566    4.274
   .ipudrst (.29.)    4.313    0.028  154.460    0.000    4.313    3.840
   .impenv  (.30.)    4.573    0.023  195.736    0.000    4.573    4.493
   .imptrad (.31.)    4.479    0.026  169.894    0.000    4.479    3.531
   .ipfrule (.32.)    4.154    0.035  119.504    0.000    4.154    3.560
   .ipbhprp (.33.)    4.634    0.025  185.843    0.000    4.634    4.033
   .imbgeco (.34.)    6.385    0.052  123.358    0.000    6.385    3.098
   .imueclt (.35.)    6.139    0.052  117.875    0.000    6.139    2.990
   .imtcjob (.36.)    6.305    0.051  124.764    0.000    6.305    2.978
   .rlgueim (.37.)    6.158    0.042  146.904    0.000    6.158    3.070
    Unvrsls           0.000                               0.000    0.000
    TrdtnCn           0.000                               0.000    0.000
    PrcvdTh           0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.757    0.049   15.528    0.000    0.757    0.663
   .ipudrst           0.810    0.045   18.016    0.000    0.810    0.642
   .impenv            0.784    0.038   20.864    0.000    0.784    0.757
   .imptrad           1.289    0.063   20.624    0.000    1.289    0.802
   .ipfrule           0.799    0.055   14.447    0.000    0.799    0.587
   .ipbhprp           0.876    0.057   15.511    0.000    0.876    0.664
   .imbgeco           1.752    0.130   13.528    0.000    1.752    0.413
   .imueclt           1.574    0.136   11.586    0.000    1.574    0.374
   .imtcjob           2.901    0.154   18.785    0.000    2.901    0.647
   .rlgueim           3.122    0.170   18.379    0.000    3.122    0.776
    Universalism      0.384    0.033   11.667    0.000    1.000    1.000
    TraditnCnfrmty    0.319    0.032   10.071    0.000    1.000    1.000
    PerceivedThret    2.495    0.133   18.809    0.000    1.000    1.000


Group 2 [DE]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.482    0.503
    ipudrst (.p2.)          1.084    0.045   24.060    0.000    0.522    0.589
    impenv  (.p3.)          0.809    0.037   21.736    0.000    0.390    0.412
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.654    0.477
    ipfrule (.p5.)          1.328    0.060   22.072    0.000    0.869    0.614
    ipbhprp (.p6.)          1.179    0.048   24.780    0.000    0.772    0.597
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               1.744    0.765
    imueclt (.p8.)          1.029    0.018   57.376    0.000    1.794    0.756
    imtcjob (.p9.)          0.796    0.016   51.029    0.000    1.388    0.664
    rlgueim (.10.)          0.601    0.018   33.753    0.000    1.048    0.507

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.711    0.088    8.093    0.000    0.711    0.257
  Universalism ~~                                                             
    TraditnCnfrmty          0.061    0.012    5.011    0.000    0.195    0.195
    PerceivedThret         -0.361    0.031  -11.628    0.000   -0.430   -0.430
  TraditionConformity ~~                                                      
    PerceivedThret          0.275    0.037    7.482    0.000    0.241    0.241

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt (.28.)    4.566    0.026  176.237    0.000    4.566    4.768
   .ipudrst (.29.)    4.313    0.028  154.460    0.000    4.313    4.868
   .impenv  (.30.)    4.573    0.023  195.736    0.000    4.573    4.840
   .imptrad (.31.)    4.479    0.026  169.894    0.000    4.479    3.262
   .ipfrule (.32.)    4.154    0.035  119.504    0.000    4.154    2.936
   .ipbhprp (.33.)    4.634    0.025  185.843    0.000    4.634    3.585
   .imbgeco (.34.)    6.385    0.052  123.358    0.000    6.385    2.802
   .imueclt (.35.)    6.139    0.052  117.875    0.000    6.139    2.587
   .imtcjob (.36.)    6.305    0.051  124.764    0.000    6.305    3.014
   .rlgueim (.37.)    6.158    0.042  146.904    0.000    6.158    2.979
    Unvrsls           0.571    0.029   19.663    0.000    1.186    1.186
    TrdtnCn          -0.500    0.030  -16.883    0.000   -0.763   -0.763
    PrcvdTh          -2.278    0.063  -35.974    0.000   -1.306   -1.306

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.685    0.038   17.814    0.000    0.685    0.747
   .ipudrst           0.512    0.028   18.145    0.000    0.512    0.652
   .impenv            0.741    0.030   24.619    0.000    0.741    0.830
   .imptrad           1.457    0.046   31.830    0.000    1.457    0.773
   .ipfrule           1.247    0.050   25.056    0.000    1.247    0.623
   .ipbhprp           1.076    0.043   25.236    0.000    1.076    0.644
   .imbgeco           2.151    0.111   19.311    0.000    2.151    0.414
   .imueclt           2.411    0.118   20.456    0.000    2.411    0.428
   .imtcjob           2.448    0.112   21.899    0.000    2.448    0.560
   .rlgueim           3.174    0.110   28.941    0.000    3.174    0.743
    Universalism      0.232    0.020   11.688    0.000    1.000    1.000
    TraditnCnfrmty    0.428    0.032   13.521    0.000    1.000    1.000
    PerceivedThret    3.042    0.136   22.406    0.000    1.000    1.000


Group 3 [GB]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.589    0.558
    ipudrst (.p2.)          1.084    0.045   24.060    0.000    0.639    0.608
    impenv  (.p3.)          0.809    0.037   21.736    0.000    0.476    0.437
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.678    0.476
    ipfrule (.p5.)          1.328    0.060   22.072    0.000    0.900    0.622
    ipbhprp (.p6.)          1.179    0.048   24.780    0.000    0.800    0.620
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               2.041    0.826
    imueclt (.p8.)          1.029    0.018   57.376    0.000    2.100    0.790
    imtcjob (.p9.)          0.796    0.016   51.029    0.000    1.624    0.688
    rlgueim (.10.)          0.601    0.018   33.753    0.000    1.227    0.541

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.914    0.131    6.964    0.000    0.914    0.295
  Universalism ~~                                                             
    TraditnCnfrmty          0.098    0.019    5.134    0.000    0.245    0.245
    PerceivedThret         -0.481    0.048  -10.025    0.000   -0.400   -0.400
  TraditionConformity ~~                                                      
    PerceivedThret          0.300    0.051    5.840    0.000    0.216    0.216

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt (.28.)    4.566    0.026  176.237    0.000    4.566    4.323
   .ipudrst (.29.)    4.313    0.028  154.460    0.000    4.313    4.105
   .impenv  (.30.)    4.573    0.023  195.736    0.000    4.573    4.192
   .imptrad (.31.)    4.479    0.026  169.894    0.000    4.479    3.143
   .ipfrule (.32.)    4.154    0.035  119.504    0.000    4.154    2.869
   .ipbhprp (.33.)    4.634    0.025  185.843    0.000    4.634    3.595
   .imbgeco (.34.)    6.385    0.052  123.358    0.000    6.385    2.582
   .imueclt (.35.)    6.139    0.052  117.875    0.000    6.139    2.311
   .imtcjob (.36.)    6.305    0.051  124.764    0.000    6.305    2.672
   .rlgueim (.37.)    6.158    0.042  146.904    0.000    6.158    2.717
    Unvrsls           0.386    0.031   12.426    0.000    0.655    0.655
    TrdtnCn          -0.319    0.032   -9.837    0.000   -0.470   -0.470
    PrcvdTh          -1.217    0.074  -16.522    0.000   -0.596   -0.596

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.768    0.043   17.956    0.000    0.768    0.689
   .ipudrst           0.696    0.040   17.356    0.000    0.696    0.631
   .impenv            0.963    0.041   23.757    0.000    0.963    0.809
   .imptrad           1.571    0.056   27.982    0.000    1.571    0.774
   .ipfrule           1.286    0.063   20.470    0.000    1.286    0.613
   .ipbhprp           1.022    0.052   19.637    0.000    1.022    0.615
   .imbgeco           1.947    0.128   15.200    0.000    1.947    0.318
   .imueclt           2.650    0.166   15.936    0.000    2.650    0.375
   .imtcjob           2.930    0.147   19.866    0.000    2.930    0.526
   .rlgueim           3.632    0.151   24.065    0.000    3.632    0.707
    Universalism      0.347    0.032   11.013    0.000    1.000    1.000
    TraditnCnfrmty    0.460    0.039   11.850    0.000    1.000    1.000
    PerceivedThret    4.166    0.178   23.464    0.000    1.000    1.000

Fixed factor method

Note! Only in one group does the variance and the intercept of the latent factor for model identification have to be fixed at 1 and 0, respectively. In the other groups, factor variance and intercept is freely estimated.

scfa_fit_scalar2 <- cfa(
  model = "
    Universalism =~ c(NA,NA,NA)*ipeqopt + c(a,a,a)*ipeqopt + c(b,b,b)*ipudrst + c(c,c,c)*impenv
    ipeqopt ~ c(k,k,k)*1
    ipudrst ~ c(l,l,l)*1
    impenv ~ c(m,m,m)*1
    Universalism ~ c(0,NA,NA)*1
    Universalism ~~ c(1,NA,NA)*Universalism
    
    TraditionConformity =~ c(NA,NA,NA)*imptrad + c(d,d,d)*imptrad + c(e,e,e)*ipfrule + c(f,f,f)*ipbhprp
    imptrad ~ c(o,o,o)*1
    ipfrule ~ c(p,p,p)*1
    ipbhprp ~ c(q,q,q)*1
    TraditionConformity ~ c(0,NA,NA)*1
    TraditionConformity ~~ c(1,NA,NA)*TraditionConformity
    
    PerceivedThreat =~ c(NA,NA,NA)*imbgeco + c(g,g,g)*imbgeco + c(h,h,h)*imueclt + c(i,i,i)*imtcjob + c(j,j,j)*rlgueim
    imueclt ~~ rlgueim
    imbgeco ~ c(r,r,r)*1
    imueclt ~ c(s,s,s)*1
    imtcjob ~ c(t,t,t)*1
    rlgueim ~ c(u,u,u)*1
    PerceivedThreat ~ c(0,NA,NA)*1
    PerceivedThreat ~~ c(1,NA,NA)*PerceivedThreat
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = scfa_fit_scalar2,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 115 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                       114
  Number of equality constraints                    40

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               927.208     803.868
  Degrees of freedom                               121         121
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.153
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                         301.347     261.261
    DE                                         318.130     275.811
    GB                                         307.731     266.795

Model Test Baseline Model:

  Test statistic                             11661.448    9234.176
  Degrees of freedom                               135         135
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.263

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.930       0.925
  Tucker-Lewis Index (TLI)                       0.922       0.916
                                                                  
  Robust Comparative Fit Index (CFI)                         0.931
  Robust Tucker-Lewis Index (TLI)                            0.924

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)            -101211.239 -101211.239
  Scaling correction factor                                  0.815
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)    -100747.635 -100747.635
  Scaling correction factor                                  1.192
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                              202570.478  202570.478
  Bayesian (BIC)                            203064.293  203064.293
  Sample-size adjusted Bayesian (BIC)       202829.142  202829.142

Root Mean Square Error of Approximation:

  RMSEA                                          0.058       0.054
  90 Percent confidence interval - lower         0.055       0.051
  90 Percent confidence interval - upper         0.062       0.057
  P-value RMSEA <= 0.05                          0.000       0.027
                                                                  
  Robust RMSEA                                               0.058
  90 Percent confidence interval - lower                     0.054
  90 Percent confidence interval - upper                     0.062

Standardized Root Mean Square Residual:

  SRMR                                           0.044       0.044

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt    (a)          0.620    0.027   23.335    0.000    0.620    0.580
    ipudrst    (b)          0.672    0.027   25.143    0.000    0.672    0.598
    impenv     (c)          0.501    0.026   19.088    0.000    0.501    0.493
  TraditionConformity =~                                                      
    imptrad    (d)          0.565    0.028   20.141    0.000    0.565    0.446
    ipfrule    (e)          0.750    0.029   26.121    0.000    0.750    0.643
    ipbhprp    (f)          0.666    0.031   21.822    0.000    0.666    0.580
  PerceivedThreat =~                                                          
    imbgeco    (g)          1.579    0.042   37.617    0.000    1.579    0.766
    imueclt    (h)          1.625    0.043   37.727    0.000    1.625    0.791
    imtcjob    (i)          1.257    0.038   33.207    0.000    1.257    0.594
    rlgueim    (j)          0.949    0.033   28.420    0.000    0.949    0.473

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.312    0.112    2.777    0.005    0.312    0.141
  Universalism ~~                                                             
    TraditnCnfrmty          0.847    0.042   20.240    0.000    0.847    0.847
    PerceivedThret         -0.072    0.040   -1.785    0.074   -0.072   -0.072
  TraditionConformity ~~                                                      
    PerceivedThret          0.067    0.042    1.591    0.112    0.067    0.067

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt    (k)    4.566    0.026  176.237    0.000    4.566    4.274
   .ipudrst    (l)    4.313    0.028  154.460    0.000    4.313    3.840
   .impenv     (m)    4.573    0.023  195.735    0.000    4.573    4.493
    Universlsm        0.000                               0.000    0.000
   .imptrad    (o)    4.479    0.026  169.893    0.000    4.479    3.531
   .ipfrule    (p)    4.154    0.035  119.503    0.000    4.154    3.560
   .ipbhprp    (q)    4.634    0.025  185.843    0.000    4.634    4.033
    TrdtnCnfrm        0.000                               0.000    0.000
   .imbgeco    (r)    6.385    0.052  123.358    0.000    6.385    3.098
   .imueclt    (s)    6.139    0.052  117.875    0.000    6.139    2.990
   .imtcjob    (t)    6.305    0.051  124.764    0.000    6.305    2.978
   .rlgueim    (u)    6.158    0.042  146.904    0.000    6.158    3.070
    PercvdThrt        0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    Universalism      1.000                               1.000    1.000
    TraditnCnfrmty    1.000                               1.000    1.000
    PerceivedThret    1.000                               1.000    1.000
   .ipeqopt           0.757    0.049   15.528    0.000    0.757    0.663
   .ipudrst           0.810    0.045   18.016    0.000    0.810    0.642
   .impenv            0.784    0.038   20.864    0.000    0.784    0.757
   .imptrad           1.289    0.063   20.624    0.000    1.289    0.802
   .ipfrule           0.799    0.055   14.447    0.000    0.799    0.587
   .ipbhprp           0.876    0.057   15.511    0.000    0.876    0.664
   .imbgeco           1.752    0.130   13.528    0.000    1.752    0.413
   .imueclt           1.574    0.136   11.585    0.000    1.574    0.374
   .imtcjob           2.901    0.154   18.785    0.000    2.901    0.647
   .rlgueim           3.122    0.170   18.379    0.000    3.122    0.776


Group 2 [DE]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt    (a)          0.620    0.027   23.335    0.000    0.482    0.503
    ipudrst    (b)          0.672    0.027   25.143    0.000    0.522    0.589
    impenv     (c)          0.501    0.026   19.088    0.000    0.390    0.412
  TraditionConformity =~                                                      
    imptrad    (d)          0.565    0.028   20.141    0.000    0.654    0.477
    ipfrule    (e)          0.750    0.029   26.121    0.000    0.869    0.614
    ipbhprp    (f)          0.666    0.031   21.822    0.000    0.772    0.597
  PerceivedThreat =~                                                          
    imbgeco    (g)          1.579    0.042   37.617    0.000    1.744    0.765
    imueclt    (h)          1.625    0.043   37.727    0.000    1.794    0.756
    imtcjob    (i)          1.257    0.038   33.207    0.000    1.388    0.664
    rlgueim    (j)          0.949    0.033   28.420    0.000    1.048    0.507

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.711    0.088    8.093    0.000    0.711    0.257
  Universalism ~~                                                             
    TraditnCnfrmty          0.175    0.036    4.906    0.000    0.195    0.195
    PerceivedThret         -0.369    0.034  -10.817    0.000   -0.430   -0.430
  TraditionConformity ~~                                                      
    PerceivedThret          0.308    0.042    7.418    0.000    0.241    0.241

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt    (k)    4.566    0.026  176.237    0.000    4.566    4.768
   .ipudrst    (l)    4.313    0.028  154.460    0.000    4.313    4.868
   .impenv     (m)    4.573    0.023  195.735    0.000    4.573    4.840
    Universlsm        0.922    0.050   18.357    0.000    1.186    1.186
   .imptrad    (o)    4.479    0.026  169.893    0.000    4.479    3.262
   .ipfrule    (p)    4.154    0.035  119.503    0.000    4.154    2.936
   .ipbhprp    (q)    4.634    0.025  185.843    0.000    4.634    3.585
    TrdtnCnfrm       -0.884    0.063  -13.940    0.000   -0.763   -0.763
   .imbgeco    (r)    6.385    0.052  123.358    0.000    6.385    2.802
   .imueclt    (s)    6.139    0.052  117.875    0.000    6.139    2.587
   .imtcjob    (t)    6.305    0.051  124.764    0.000    6.305    3.014
   .rlgueim    (u)    6.158    0.042  146.904    0.000    6.158    2.979
    PercvdThrt       -1.442    0.051  -28.540    0.000   -1.306   -1.306

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    Universalism      0.604    0.060    9.993    0.000    1.000    1.000
    TraditnCnfrmty    1.342    0.116   11.546    0.000    1.000    1.000
    PerceivedThret    1.219    0.077   15.920    0.000    1.000    1.000
   .ipeqopt           0.685    0.038   17.814    0.000    0.685    0.747
   .ipudrst           0.512    0.028   18.145    0.000    0.512    0.652
   .impenv            0.741    0.030   24.619    0.000    0.741    0.830
   .imptrad           1.457    0.046   31.830    0.000    1.457    0.773
   .ipfrule           1.247    0.050   25.057    0.000    1.247    0.623
   .ipbhprp           1.076    0.043   25.235    0.000    1.076    0.644
   .imbgeco           2.151    0.111   19.311    0.000    2.151    0.414
   .imueclt           2.411    0.118   20.456    0.000    2.411    0.428
   .imtcjob           2.448    0.112   21.899    0.000    2.448    0.560
   .rlgueim           3.174    0.110   28.941    0.000    3.174    0.743


Group 3 [GB]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt    (a)          0.620    0.027   23.335    0.000    0.589    0.558
    ipudrst    (b)          0.672    0.027   25.143    0.000    0.639    0.608
    impenv     (c)          0.501    0.026   19.088    0.000    0.476    0.437
  TraditionConformity =~                                                      
    imptrad    (d)          0.565    0.028   20.141    0.000    0.678    0.476
    ipfrule    (e)          0.750    0.029   26.121    0.000    0.900    0.622
    ipbhprp    (f)          0.666    0.031   21.822    0.000    0.800    0.620
  PerceivedThreat =~                                                          
    imbgeco    (g)          1.579    0.042   37.617    0.000    2.041    0.826
    imueclt    (h)          1.625    0.043   37.727    0.000    2.100    0.790
    imtcjob    (i)          1.257    0.038   33.207    0.000    1.624    0.688
    rlgueim    (j)          0.949    0.033   28.420    0.000    1.227    0.541

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.914    0.131    6.964    0.000    0.914    0.295
  Universalism ~~                                                             
    TraditnCnfrmty          0.279    0.056    5.011    0.000    0.245    0.245
    PerceivedThret         -0.492    0.051   -9.663    0.000   -0.400   -0.400
  TraditionConformity ~~                                                      
    PerceivedThret          0.336    0.058    5.756    0.000    0.216    0.216

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt    (k)    4.566    0.026  176.237    0.000    4.566    4.323
   .ipudrst    (l)    4.313    0.028  154.460    0.000    4.313    4.105
   .impenv     (m)    4.573    0.023  195.735    0.000    4.573    4.192
    Universlsm        0.622    0.050   12.493    0.000    0.655    0.655
   .imptrad    (o)    4.479    0.026  169.893    0.000    4.479    3.143
   .ipfrule    (p)    4.154    0.035  119.503    0.000    4.154    2.869
   .ipbhprp    (q)    4.634    0.025  185.843    0.000    4.634    3.595
    TrdtnCnfrm       -0.564    0.063   -8.987    0.000   -0.470   -0.470
   .imbgeco    (r)    6.385    0.052  123.358    0.000    6.385    2.582
   .imueclt    (s)    6.139    0.052  117.875    0.000    6.139    2.311
   .imtcjob    (t)    6.305    0.051  124.764    0.000    6.305    2.672
   .rlgueim    (u)    6.158    0.042  146.904    0.000    6.158    2.717
    PercvdThrt       -0.771    0.048  -16.000    0.000   -0.596   -0.596

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    Universalism      0.903    0.097    9.295    0.000    1.000    1.000
    TraditnCnfrmty    1.441    0.133   10.860    0.000    1.000    1.000
    PerceivedThret    1.670    0.106   15.779    0.000    1.000    1.000
   .ipeqopt           0.768    0.043   17.956    0.000    0.768    0.689
   .ipudrst           0.696    0.040   17.356    0.000    0.696    0.631
   .impenv            0.963    0.041   23.757    0.000    0.963    0.809
   .imptrad           1.571    0.056   27.982    0.000    1.571    0.774
   .ipfrule           1.286    0.063   20.471    0.000    1.286    0.613
   .ipbhprp           1.022    0.052   19.636    0.000    1.022    0.615
   .imbgeco           1.947    0.128   15.200    0.000    1.947    0.318
   .imueclt           2.650    0.166   15.936    0.000    2.650    0.375
   .imtcjob           2.930    0.147   19.866    0.000    2.930    0.526
   .rlgueim           3.632    0.151   24.065    0.000    3.632    0.707

Comparing fit statistics

compFit.scfa <- compareFit(
  scalar = scfa_fit_scalar,
  metric = scfa_fit_metric,
  config = scfa_fit_config,
  argsLRT = list(method = "satorra.bentler.2001")
)
summary(
  object = compFit.scfa, 
  fit.measures = c("chisq.scaled", "df.scaled", "pvalue.scaled", 
                   "rmsea.scaled", "cfi.scaled", "tli.scaled",
                   "srmr", "aic", "bic")
  ) 
################### Nested Model Comparison #########################
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")

lavaan NOTE:
    The "Chisq" column contains standard test statistics, not the
    robust test that should be reported per model. A robust difference
    test is a function of two standard (not robust) statistics.
 
        Df    AIC    BIC  Chisq Chisq diff Df diff Pr(>Chisq)    
config  93 202254 202935 555.17                                  
metric 107 202264 202851 592.98      31.04      14   0.005479 ** 
scalar 121 202570 203064 927.21     327.62      14  < 2.2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

####################### Model Fit Indices ###########################
       chisq.scaled df.scaled pvalue.scaled rmsea.scaled cfi.scaled tli.scaled
config     477.046†        93          .000        .046       .958†      .939 
metric     506.441        107          .000        .044†      .956       .945†
scalar     803.868        121          .000        .054       .925       .916 
        srmr         aic         bic
config .034† 202254.443† 202935.107 
metric .036  202264.246  202851.485†
scalar .044  202570.478  203064.293 

################## Differences in Fit Indices #######################
                df.scaled rmsea.scaled cfi.scaled tli.scaled  srmr     aic
metric - config        14       -0.002     -0.002      0.006 0.002   9.802
scalar - metric        14        0.010     -0.031     -0.028 0.008 306.232
                    bic
metric - config -83.622
scalar - metric 212.808

Fixed factor method

compFit.scfa2 <- compareFit(
  scalar = scfa_fit_scalar2,
  metric = scfa_fit_metric2,
  config = scfa_fit_config2,
  argsLRT = list(method = "satorra.bentler.2001")
)
summary(
  object = compFit.scfa2, 
  fit.measures = c("chisq.scaled", "df.scaled", "pvalue.scaled", 
                   "rmsea.scaled", "cfi.scaled", "tli.scaled",
                   "srmr", "aic", "bic")
  ) 
################### Nested Model Comparison #########################
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")

lavaan NOTE:
    The "Chisq" column contains standard test statistics, not the
    robust test that should be reported per model. A robust difference
    test is a function of two standard (not robust) statistics.
 
        Df    AIC    BIC  Chisq Chisq diff Df diff Pr(>Chisq)    
config  93 202254 202935 555.17                                  
metric 107 202264 202851 592.98      31.04      14   0.005479 ** 
scalar 121 202570 203064 927.21     327.62      14  < 2.2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

####################### Model Fit Indices ###########################
       chisq.scaled df.scaled pvalue.scaled rmsea.scaled cfi.scaled tli.scaled
config     477.046†        93          .000        .046       .958†      .939 
metric     506.441        107          .000        .044†      .956       .945†
scalar     803.868        121          .000        .054       .925       .916 
        srmr         aic         bic
config .034† 202254.443† 202935.107 
metric .036  202264.246  202851.485†
scalar .044  202570.478  203064.293 

################## Differences in Fit Indices #######################
                df.scaled rmsea.scaled cfi.scaled tli.scaled  srmr     aic
metric - config        14       -0.002     -0.002      0.006 0.002   9.802
scalar - metric        14        0.010     -0.031     -0.028 0.008 306.232
                    bic
metric - config -83.622
scalar - metric 212.808

Partial MI - SCFA

Partial scalar invariance

scfa_fit_scalar %>% 
  lavTestScore() %>% 
  # optional for better display 
  export_table(table_width = 1, digits = 2)
test  |     X2 | df | p.value
-----------------------------
score | 368.90 | 34 |       0

lhs   | op |    rhs |    X2 | df |  p.value
-------------------------------------------
.p2.  | == |  .p42. |  9.38 |  1 | 2.19e-03
.p2.  | == |  .p82. |  0.06 |  1 |     0.80
.p3.  | == |  .p43. |  4.00 |  1 |     0.05
.p3.  | == |  .p83. |  5.48 |  1 |     0.02
.p5.  | == |  .p45. |  5.38 |  1 |     0.02
.p5.  | == |  .p85. |  4.51 |  1 |     0.03
.p6.  | == |  .p46. |  0.01 |  1 |     0.91
.p6.  | == |  .p86. | 16.08 |  1 | 6.08e-05
.p8.  | == |  .p48. |  1.81 |  1 |     0.18
.p8.  | == |  .p88. |  0.41 |  1 |     0.52
.p9.  | == |  .p49. |  2.24 |  1 |     0.13
.p9.  | == |  .p89. |  2.43 |  1 |     0.12
.p10. | == |  .p50. |  1.94 |  1 |     0.16
.p10. | == |  .p90. |  1.31 |  1 |     0.25
.p28. | == |  .p68. |  1.89 |  1 |     0.17
.p28. | == | .p108. |  8.81 |  1 | 2.99e-03
.p29. | == |  .p69. | 20.89 |  1 | 4.86e-06
.p29. | == | .p109. |  1.62 |  1 |     0.20
.p30. | == |  .p70. | 16.16 |  1 | 5.82e-05
.p30. | == | .p110. |  3.94 |  1 |     0.05
.p31. | == |  .p71. | 11.14 |  1 | 8.45e-04
.p31. | == | .p111. |  0.66 |  1 |     0.42
.p32. | == |  .p72. | 25.54 |  1 | 4.33e-07
.p32. | == | .p112. | 37.13 |  1 | 1.11e-09
.p33. | == |  .p73. |  5.59 |  1 |     0.02
.p33. | == | .p113. | 46.24 |  1 | 1.05e-11
.p34. | == |  .p74. | 45.37 |  1 | 1.63e-11
.p34. | == | .p114. | 11.67 |  1 | 6.36e-04
.p35. | == |  .p75. |  5.37 |  1 |     0.02
.p35. | == | .p115. |  7.71 |  1 | 5.50e-03
.p36. | == |  .p76. | 19.09 |  1 | 1.24e-05
.p36. | == | .p116. |  4.47 |  1 |     0.03
.p37. | == |  .p77. |  0.76 |  1 |     0.38
.p37. | == | .p117. | 12.09 |  1 | 5.07e-04

.p33. == .p113. -> Constraint with the largest χ2reduction

What do the parameter labels (.p33. & .p113.) mean?

scfa_fit_scalar %>% 
  parTable() %>% 
  select(lhs, op, rhs, group, label, plabel, est, se) %>% 
  # optional for better display 
  export_table(table_width = 1, digits = 2)
lhs                 | op |                 rhs | group | label | plabel |       est |   se
------------------------------------------------------------------------------------------
Universalism        | =~ |             ipeqopt |     1 |       |   .p1. |      1.00 | 0.00
Universalism        | =~ |             ipudrst |     1 |  .p2. |   .p2. |      1.08 | 0.05
Universalism        | =~ |              impenv |     1 |  .p3. |   .p3. |      0.81 | 0.04
TraditionConformity | =~ |             imptrad |     1 |       |   .p4. |      1.00 | 0.00
TraditionConformity | =~ |             ipfrule |     1 |  .p5. |   .p5. |      1.33 | 0.06
TraditionConformity | =~ |             ipbhprp |     1 |  .p6. |   .p6. |      1.18 | 0.05
PerceivedThreat     | =~ |             imbgeco |     1 |       |   .p7. |      1.00 | 0.00
PerceivedThreat     | =~ |             imueclt |     1 |  .p8. |   .p8. |      1.03 | 0.02
PerceivedThreat     | =~ |             imtcjob |     1 |  .p9. |   .p9. |      0.80 | 0.02
PerceivedThreat     | =~ |             rlgueim |     1 | .p10. |  .p10. |      0.60 | 0.02
imueclt             | ~~ |             rlgueim |     1 |       |  .p11. |      0.31 | 0.11
ipeqopt             | ~~ |             ipeqopt |     1 |       |  .p12. |      0.76 | 0.05
ipudrst             | ~~ |             ipudrst |     1 |       |  .p13. |      0.81 | 0.04
impenv              | ~~ |              impenv |     1 |       |  .p14. |      0.78 | 0.04
imptrad             | ~~ |             imptrad |     1 |       |  .p15. |      1.29 | 0.06
ipfrule             | ~~ |             ipfrule |     1 |       |  .p16. |      0.80 | 0.06
ipbhprp             | ~~ |             ipbhprp |     1 |       |  .p17. |      0.88 | 0.06
imbgeco             | ~~ |             imbgeco |     1 |       |  .p18. |      1.75 | 0.13
imueclt             | ~~ |             imueclt |     1 |       |  .p19. |      1.57 | 0.14
imtcjob             | ~~ |             imtcjob |     1 |       |  .p20. |      2.90 | 0.15
rlgueim             | ~~ |             rlgueim |     1 |       |  .p21. |      3.12 | 0.17
Universalism        | ~~ |        Universalism |     1 |       |  .p22. |      0.38 | 0.03
TraditionConformity | ~~ | TraditionConformity |     1 |       |  .p23. |      0.32 | 0.03
PerceivedThreat     | ~~ |     PerceivedThreat |     1 |       |  .p24. |      2.49 | 0.13
Universalism        | ~~ | TraditionConformity |     1 |       |  .p25. |      0.30 | 0.02
Universalism        | ~~ |     PerceivedThreat |     1 |       |  .p26. |     -0.07 | 0.04
TraditionConformity | ~~ |     PerceivedThreat |     1 |       |  .p27. |      0.06 | 0.04
ipeqopt             | ~1 |                     |     1 | .p28. |  .p28. |      4.57 | 0.03
ipudrst             | ~1 |                     |     1 | .p29. |  .p29. |      4.31 | 0.03
impenv              | ~1 |                     |     1 | .p30. |  .p30. |      4.57 | 0.02
imptrad             | ~1 |                     |     1 | .p31. |  .p31. |      4.48 | 0.03
ipfrule             | ~1 |                     |     1 | .p32. |  .p32. |      4.15 | 0.03
ipbhprp             | ~1 |                     |     1 | .p33. |  .p33. |      4.63 | 0.02
imbgeco             | ~1 |                     |     1 | .p34. |  .p34. |      6.38 | 0.05
imueclt             | ~1 |                     |     1 | .p35. |  .p35. |      6.14 | 0.05
imtcjob             | ~1 |                     |     1 | .p36. |  .p36. |      6.30 | 0.05
rlgueim             | ~1 |                     |     1 | .p37. |  .p37. |      6.16 | 0.04
Universalism        | ~1 |                     |     1 |       |  .p38. |      0.00 | 0.00
TraditionConformity | ~1 |                     |     1 |       |  .p39. |      0.00 | 0.00
PerceivedThreat     | ~1 |                     |     1 |       |  .p40. |      0.00 | 0.00
Universalism        | =~ |             ipeqopt |     2 |       |  .p41. |      1.00 | 0.00
Universalism        | =~ |             ipudrst |     2 |  .p2. |  .p42. |      1.08 | 0.05
Universalism        | =~ |              impenv |     2 |  .p3. |  .p43. |      0.81 | 0.04
TraditionConformity | =~ |             imptrad |     2 |       |  .p44. |      1.00 | 0.00
TraditionConformity | =~ |             ipfrule |     2 |  .p5. |  .p45. |      1.33 | 0.06
TraditionConformity | =~ |             ipbhprp |     2 |  .p6. |  .p46. |      1.18 | 0.05
PerceivedThreat     | =~ |             imbgeco |     2 |       |  .p47. |      1.00 | 0.00
PerceivedThreat     | =~ |             imueclt |     2 |  .p8. |  .p48. |      1.03 | 0.02
PerceivedThreat     | =~ |             imtcjob |     2 |  .p9. |  .p49. |      0.80 | 0.02
PerceivedThreat     | =~ |             rlgueim |     2 | .p10. |  .p50. |      0.60 | 0.02
imueclt             | ~~ |             rlgueim |     2 |       |  .p51. |      0.71 | 0.09
ipeqopt             | ~~ |             ipeqopt |     2 |       |  .p52. |      0.68 | 0.04
ipudrst             | ~~ |             ipudrst |     2 |       |  .p53. |      0.51 | 0.03
impenv              | ~~ |              impenv |     2 |       |  .p54. |      0.74 | 0.03
imptrad             | ~~ |             imptrad |     2 |       |  .p55. |      1.46 | 0.05
ipfrule             | ~~ |             ipfrule |     2 |       |  .p56. |      1.25 | 0.05
ipbhprp             | ~~ |             ipbhprp |     2 |       |  .p57. |      1.08 | 0.04
imbgeco             | ~~ |             imbgeco |     2 |       |  .p58. |      2.15 | 0.11
imueclt             | ~~ |             imueclt |     2 |       |  .p59. |      2.41 | 0.12
imtcjob             | ~~ |             imtcjob |     2 |       |  .p60. |      2.45 | 0.11
rlgueim             | ~~ |             rlgueim |     2 |       |  .p61. |      3.17 | 0.11
Universalism        | ~~ |        Universalism |     2 |       |  .p62. |      0.23 | 0.02
TraditionConformity | ~~ | TraditionConformity |     2 |       |  .p63. |      0.43 | 0.03
PerceivedThreat     | ~~ |     PerceivedThreat |     2 |       |  .p64. |      3.04 | 0.14
Universalism        | ~~ | TraditionConformity |     2 |       |  .p65. |      0.06 | 0.01
Universalism        | ~~ |     PerceivedThreat |     2 |       |  .p66. |     -0.36 | 0.03
TraditionConformity | ~~ |     PerceivedThreat |     2 |       |  .p67. |      0.27 | 0.04
ipeqopt             | ~1 |                     |     2 | .p28. |  .p68. |      4.57 | 0.03
ipudrst             | ~1 |                     |     2 | .p29. |  .p69. |      4.31 | 0.03
impenv              | ~1 |                     |     2 | .p30. |  .p70. |      4.57 | 0.02
imptrad             | ~1 |                     |     2 | .p31. |  .p71. |      4.48 | 0.03
ipfrule             | ~1 |                     |     2 | .p32. |  .p72. |      4.15 | 0.03
ipbhprp             | ~1 |                     |     2 | .p33. |  .p73. |      4.63 | 0.02
imbgeco             | ~1 |                     |     2 | .p34. |  .p74. |      6.38 | 0.05
imueclt             | ~1 |                     |     2 | .p35. |  .p75. |      6.14 | 0.05
imtcjob             | ~1 |                     |     2 | .p36. |  .p76. |      6.30 | 0.05
rlgueim             | ~1 |                     |     2 | .p37. |  .p77. |      6.16 | 0.04
Universalism        | ~1 |                     |     2 |       |  .p78. |      0.57 | 0.03
TraditionConformity | ~1 |                     |     2 |       |  .p79. |     -0.50 | 0.03
PerceivedThreat     | ~1 |                     |     2 |       |  .p80. |     -2.28 | 0.06
Universalism        | =~ |             ipeqopt |     3 |       |  .p81. |      1.00 | 0.00
Universalism        | =~ |             ipudrst |     3 |  .p2. |  .p82. |      1.08 | 0.05
Universalism        | =~ |              impenv |     3 |  .p3. |  .p83. |      0.81 | 0.04
TraditionConformity | =~ |             imptrad |     3 |       |  .p84. |      1.00 | 0.00
TraditionConformity | =~ |             ipfrule |     3 |  .p5. |  .p85. |      1.33 | 0.06
TraditionConformity | =~ |             ipbhprp |     3 |  .p6. |  .p86. |      1.18 | 0.05
PerceivedThreat     | =~ |             imbgeco |     3 |       |  .p87. |      1.00 | 0.00
PerceivedThreat     | =~ |             imueclt |     3 |  .p8. |  .p88. |      1.03 | 0.02
PerceivedThreat     | =~ |             imtcjob |     3 |  .p9. |  .p89. |      0.80 | 0.02
PerceivedThreat     | =~ |             rlgueim |     3 | .p10. |  .p90. |      0.60 | 0.02
imueclt             | ~~ |             rlgueim |     3 |       |  .p91. |      0.91 | 0.13
ipeqopt             | ~~ |             ipeqopt |     3 |       |  .p92. |      0.77 | 0.04
ipudrst             | ~~ |             ipudrst |     3 |       |  .p93. |      0.70 | 0.04
impenv              | ~~ |              impenv |     3 |       |  .p94. |      0.96 | 0.04
imptrad             | ~~ |             imptrad |     3 |       |  .p95. |      1.57 | 0.06
ipfrule             | ~~ |             ipfrule |     3 |       |  .p96. |      1.29 | 0.06
ipbhprp             | ~~ |             ipbhprp |     3 |       |  .p97. |      1.02 | 0.05
imbgeco             | ~~ |             imbgeco |     3 |       |  .p98. |      1.95 | 0.13
imueclt             | ~~ |             imueclt |     3 |       |  .p99. |      2.65 | 0.17
imtcjob             | ~~ |             imtcjob |     3 |       | .p100. |      2.93 | 0.15
rlgueim             | ~~ |             rlgueim |     3 |       | .p101. |      3.63 | 0.15
Universalism        | ~~ |        Universalism |     3 |       | .p102. |      0.35 | 0.03
TraditionConformity | ~~ | TraditionConformity |     3 |       | .p103. |      0.46 | 0.04
PerceivedThreat     | ~~ |     PerceivedThreat |     3 |       | .p104. |      4.17 | 0.18
Universalism        | ~~ | TraditionConformity |     3 |       | .p105. |      0.10 | 0.02
Universalism        | ~~ |     PerceivedThreat |     3 |       | .p106. |     -0.48 | 0.05
TraditionConformity | ~~ |     PerceivedThreat |     3 |       | .p107. |      0.30 | 0.05
ipeqopt             | ~1 |                     |     3 | .p28. | .p108. |      4.57 | 0.03
ipudrst             | ~1 |                     |     3 | .p29. | .p109. |      4.31 | 0.03
impenv              | ~1 |                     |     3 | .p30. | .p110. |      4.57 | 0.02
imptrad             | ~1 |                     |     3 | .p31. | .p111. |      4.48 | 0.03
ipfrule             | ~1 |                     |     3 | .p32. | .p112. |      4.15 | 0.03
ipbhprp             | ~1 |                     |     3 | .p33. | .p113. |      4.63 | 0.02
imbgeco             | ~1 |                     |     3 | .p34. | .p114. |      6.38 | 0.05
imueclt             | ~1 |                     |     3 | .p35. | .p115. |      6.14 | 0.05
imtcjob             | ~1 |                     |     3 | .p36. | .p116. |      6.30 | 0.05
rlgueim             | ~1 |                     |     3 | .p37. | .p117. |      6.16 | 0.04
Universalism        | ~1 |                     |     3 |       | .p118. |      0.39 | 0.03
TraditionConformity | ~1 |                     |     3 |       | .p119. |     -0.32 | 0.03
PerceivedThreat     | ~1 |                     |     3 |       | .p120. |     -1.22 | 0.07
.p2.                | == |               .p42. |     0 |       |        | -2.22e-16 | 0.00
.p2.                | == |               .p82. |     0 |       |        |  4.44e-16 | 0.00
.p3.                | == |               .p43. |     0 |       |        |      0.00 | 0.00
.p3.                | == |               .p83. |     0 |       |        |  4.44e-16 | 0.00
.p5.                | == |               .p45. |     0 |       |        |      0.00 | 0.00
.p5.                | == |               .p85. |     0 |       |        |  2.22e-16 | 0.00
.p6.                | == |               .p46. |     0 |       |        |      0.00 | 0.00
.p6.                | == |               .p86. |     0 |       |        |  2.22e-16 | 0.00
.p8.                | == |               .p48. |     0 |       |        |  4.44e-16 | 0.00
.p8.                | == |               .p88. |     0 |       |        |  6.66e-16 | 0.00
.p9.                | == |               .p49. |     0 |       |        | -1.11e-16 | 0.00
.p9.                | == |               .p89. |     0 |       |        |  5.55e-16 | 0.00
.p10.               | == |               .p50. |     0 |       |        |      0.00 | 0.00
.p10.               | == |               .p90. |     0 |       |        |  4.44e-16 | 0.00
.p28.               | == |               .p68. |     0 |       |        | -8.88e-16 | 0.00
.p28.               | == |              .p108. |     0 |       |        |  1.78e-15 | 0.00
.p29.               | == |               .p69. |     0 |       |        |  8.88e-16 | 0.00
.p29.               | == |              .p109. |     0 |       |        |  1.78e-15 | 0.00
.p30.               | == |               .p70. |     0 |       |        |      0.00 | 0.00
.p30.               | == |              .p110. |     0 |       |        |      0.00 | 0.00
.p31.               | == |               .p71. |     0 |       |        |      0.00 | 0.00
.p31.               | == |              .p111. |     0 |       |        |  1.78e-15 | 0.00
.p32.               | == |               .p72. |     0 |       |        |      0.00 | 0.00
.p32.               | == |              .p112. |     0 |       |        |  8.88e-16 | 0.00
.p33.               | == |               .p73. |     0 |       |        | -8.88e-16 | 0.00
.p33.               | == |              .p113. |     0 |       |        |  8.88e-16 | 0.00
.p34.               | == |               .p74. |     0 |       |        | -8.88e-16 | 0.00
.p34.               | == |              .p114. |     0 |       |        |  2.66e-15 | 0.00
.p35.               | == |               .p75. |     0 |       |        |      0.00 | 0.00
.p35.               | == |              .p115. |     0 |       |        |  8.88e-16 | 0.00
.p36.               | == |               .p76. |     0 |       |        |      0.00 | 0.00
.p36.               | == |              .p116. |     0 |       |        |  1.78e-15 | 0.00
.p37.               | == |               .p77. |     0 |       |        | -1.78e-15 | 0.00
.p37.               | == |              .p117. |     0 |       |        |  1.78e-15 | 0.00

Reference indicator method

scfa_fit_scalar_partial <- cfa(
  model = "
    Universalism =~ ipeqopt + ipudrst + impenv
    TraditionConformity =~ imptrad + ipfrule + ipbhprp
    PerceivedThreat =~ imbgeco + imueclt + imtcjob + rlgueim
    imueclt ~~ rlgueim
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  group.equal = c("loadings", "intercepts"),
  group.partial = c("ipbhprp~1"),
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = scfa_fit_scalar_partial,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 112 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                       108
  Number of equality constraints                    32

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               811.457     701.358
  Degrees of freedom                               119         119
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.157
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                         225.171     194.620
    DE                                         308.736     266.847
    GB                                         277.550     239.892

Model Test Baseline Model:

  Test statistic                             11661.448    9234.176
  Degrees of freedom                               135         135
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.263

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.940       0.936
  Tucker-Lewis Index (TLI)                       0.932       0.927
                                                                  
  Robust Comparative Fit Index (CFI)                         0.941
  Robust Tucker-Lewis Index (TLI)                            0.933

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)            -101153.364 -101153.364
  Scaling correction factor                                  0.877
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)    -100747.635 -100747.635
  Scaling correction factor                                  1.192
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                              202458.727  202458.727
  Bayesian (BIC)                            202965.888  202965.888
  Sample-size adjusted Bayesian (BIC)       202724.382  202724.382

Root Mean Square Error of Approximation:

  RMSEA                                          0.055       0.050
  90 Percent confidence interval - lower         0.051       0.047
  90 Percent confidence interval - upper         0.058       0.053
  P-value RMSEA <= 0.05                          0.015       0.469
                                                                  
  Robust RMSEA                                               0.054
  90 Percent confidence interval - lower                     0.050
  90 Percent confidence interval - upper                     0.058

Standardized Root Mean Square Residual:

  SRMR                                           0.042       0.042

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.619    0.579
    ipudrst (.p2.)          1.088    0.045   23.977    0.000    0.674    0.601
    impenv  (.p3.)          0.808    0.037   21.833    0.000    0.500    0.491
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.538    0.424
    ipfrule (.p5.)          1.344    0.054   25.108    0.000    0.723    0.631
    ipbhprp (.p6.)          1.386    0.066   21.133    0.000    0.746    0.644
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               1.580    0.767
    imueclt (.p8.)          1.028    0.018   57.425    0.000    1.624    0.791
    imtcjob (.p9.)          0.796    0.016   51.027    0.000    1.257    0.594
    rlgueim (.10.)          0.601    0.018   33.766    0.000    0.949    0.473

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.313    0.112    2.787    0.005    0.313    0.141
  Universalism ~~                                                             
    TraditnCnfrmty          0.280    0.020   13.816    0.000    0.839    0.839
    PerceivedThret         -0.070    0.040   -1.781    0.075   -0.072   -0.072
  TraditionConformity ~~                                                      
    PerceivedThret          0.057    0.035    1.605    0.108    0.067    0.067

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt (.28.)    4.566    0.026  176.329    0.000    4.566    4.271
   .ipudrst (.29.)    4.312    0.028  154.123    0.000    4.312    3.844
   .impenv  (.30.)    4.573    0.023  196.039    0.000    4.573    4.491
   .imptrad (.31.)    4.552    0.026  177.578    0.000    4.552    3.590
   .ipfrule (.32.)    4.250    0.031  136.700    0.000    4.250    3.710
   .ipbhprp           4.477    0.031  142.505    0.000    4.477    3.868
   .imbgeco (.34.)    6.385    0.052  123.376    0.000    6.385    3.099
   .imueclt (.35.)    6.138    0.052  117.877    0.000    6.138    2.990
   .imtcjob (.36.)    6.305    0.051  124.771    0.000    6.305    2.978
   .rlgueim (.37.)    6.158    0.042  146.916    0.000    6.158    3.070
    Unvrsls           0.000                               0.000    0.000
    TrdtnCn           0.000                               0.000    0.000
    PrcvdTh           0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.760    0.049   15.556    0.000    0.760    0.665
   .ipudrst           0.805    0.045   18.047    0.000    0.805    0.639
   .impenv            0.787    0.038   20.901    0.000    0.787    0.759
   .imptrad           1.318    0.063   20.848    0.000    1.318    0.820
   .ipfrule           0.790    0.050   15.858    0.000    0.790    0.602
   .ipbhprp           0.784    0.054   14.582    0.000    0.784    0.585
   .imbgeco           1.751    0.129   13.532    0.000    1.751    0.412
   .imueclt           1.575    0.136   11.595    0.000    1.575    0.374
   .imtcjob           2.901    0.154   18.785    0.000    2.901    0.647
   .rlgueim           3.122    0.170   18.387    0.000    3.122    0.776
    Universalism      0.383    0.033   11.661    0.000    1.000    1.000
    TraditnCnfrmty    0.289    0.028   10.227    0.000    1.000    1.000
    PerceivedThret    2.495    0.133   18.809    0.000    1.000    1.000


Group 2 [DE]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.481    0.502
    ipudrst (.p2.)          1.088    0.045   23.977    0.000    0.523    0.591
    impenv  (.p3.)          0.808    0.037   21.833    0.000    0.389    0.411
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.613    0.449
    ipfrule (.p5.)          1.344    0.054   25.108    0.000    0.823    0.585
    ipbhprp (.p6.)          1.386    0.066   21.133    0.000    0.849    0.650
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               1.744    0.765
    imueclt (.p8.)          1.028    0.018   57.425    0.000    1.794    0.756
    imtcjob (.p9.)          0.796    0.016   51.027    0.000    1.388    0.664
    rlgueim (.10.)          0.601    0.018   33.766    0.000    1.048    0.507

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.712    0.088    8.111    0.000    0.712    0.257
  Universalism ~~                                                             
    TraditnCnfrmty          0.058    0.011    5.106    0.000    0.197    0.197
    PerceivedThret         -0.361    0.031  -11.619    0.000   -0.430   -0.430
  TraditionConformity ~~                                                      
    PerceivedThret          0.252    0.034    7.301    0.000    0.235    0.235

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt (.28.)    4.566    0.026  176.329    0.000    4.566    4.769
   .ipudrst (.29.)    4.312    0.028  154.123    0.000    4.312    4.865
   .impenv  (.30.)    4.573    0.023  196.039    0.000    4.573    4.841
   .imptrad (.31.)    4.552    0.026  177.578    0.000    4.552    3.335
   .ipfrule (.32.)    4.250    0.031  136.700    0.000    4.250    3.023
   .ipbhprp           4.876    0.050   97.404    0.000    4.876    3.733
   .imbgeco (.34.)    6.385    0.052  123.376    0.000    6.385    2.802
   .imueclt (.35.)    6.138    0.052  117.877    0.000    6.138    2.587
   .imtcjob (.36.)    6.305    0.051  124.771    0.000    6.305    3.014
   .rlgueim (.37.)    6.158    0.042  146.916    0.000    6.158    2.979
    Unvrsls           0.571    0.029   19.668    0.000    1.187    1.187
    TrdtnCn          -0.581    0.030  -19.684    0.000   -0.948   -0.948
    PrcvdTh          -2.279    0.063  -35.984    0.000   -1.306   -1.306

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.685    0.038   17.836    0.000    0.685    0.748
   .ipudrst           0.512    0.028   18.106    0.000    0.512    0.651
   .impenv            0.741    0.030   24.645    0.000    0.741    0.831
   .imptrad           1.488    0.045   32.784    0.000    1.488    0.799
   .ipfrule           1.300    0.046   28.097    0.000    1.300    0.657
   .ipbhprp           0.986    0.047   20.875    0.000    0.986    0.578
   .imbgeco           2.150    0.111   19.298    0.000    2.150    0.414
   .imueclt           2.413    0.118   20.479    0.000    2.413    0.429
   .imtcjob           2.448    0.112   21.899    0.000    2.448    0.560
   .rlgueim           3.175    0.110   28.942    0.000    3.175    0.743
    Universalism      0.231    0.020   11.675    0.000    1.000    1.000
    TraditnCnfrmty    0.375    0.030   12.684    0.000    1.000    1.000
    PerceivedThret    3.042    0.136   22.405    0.000    1.000    1.000


Group 3 [GB]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.588    0.557
    ipudrst (.p2.)          1.088    0.045   23.977    0.000    0.640    0.609
    impenv  (.p3.)          0.808    0.037   21.833    0.000    0.475    0.436
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.633    0.446
    ipfrule (.p5.)          1.344    0.054   25.108    0.000    0.851    0.593
    ipbhprp (.p6.)          1.386    0.066   21.133    0.000    0.877    0.676
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               2.041    0.826
    imueclt (.p8.)          1.028    0.018   57.425    0.000    2.099    0.790
    imtcjob (.p9.)          0.796    0.016   51.027    0.000    1.624    0.688
    rlgueim (.10.)          0.601    0.018   33.766    0.000    1.227    0.541

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.915    0.131    6.969    0.000    0.915    0.295
  Universalism ~~                                                             
    TraditnCnfrmty          0.090    0.018    5.147    0.000    0.243    0.243
    PerceivedThret         -0.481    0.048  -10.023    0.000   -0.400   -0.400
  TraditionConformity ~~                                                      
    PerceivedThret          0.269    0.048    5.600    0.000    0.208    0.208

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt (.28.)    4.566    0.026  176.329    0.000    4.566    4.325
   .ipudrst (.29.)    4.312    0.028  154.123    0.000    4.312    4.102
   .impenv  (.30.)    4.573    0.023  196.039    0.000    4.573    4.192
   .imptrad (.31.)    4.552    0.026  177.578    0.000    4.552    3.211
   .ipfrule (.32.)    4.250    0.031  136.700    0.000    4.250    2.962
   .ipbhprp           4.986    0.050   99.439    0.000    4.986    3.845
   .imbgeco (.34.)    6.385    0.052  123.376    0.000    6.385    2.583
   .imueclt (.35.)    6.138    0.052  117.877    0.000    6.138    2.310
   .imtcjob (.36.)    6.305    0.051  124.771    0.000    6.305    2.672
   .rlgueim (.37.)    6.158    0.042  146.916    0.000    6.158    2.717
    Unvrsls           0.386    0.031   12.434    0.000    0.655    0.655
    TrdtnCn          -0.449    0.032  -13.979    0.000   -0.709   -0.709
    PrcvdTh          -1.217    0.074  -16.525    0.000   -0.596   -0.596

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.769    0.043   17.968    0.000    0.769    0.689
   .ipudrst           0.695    0.040   17.277    0.000    0.695    0.629
   .impenv            0.964    0.041   23.788    0.000    0.964    0.810
   .imptrad           1.610    0.054   29.598    0.000    1.610    0.801
   .ipfrule           1.336    0.058   23.109    0.000    1.336    0.649
   .ipbhprp           0.913    0.055   16.477    0.000    0.913    0.542
   .imbgeco           1.946    0.128   15.199    0.000    1.946    0.318
   .imueclt           2.653    0.166   15.963    0.000    2.653    0.376
   .imtcjob           2.929    0.147   19.859    0.000    2.929    0.526
   .rlgueim           3.632    0.151   24.075    0.000    3.632    0.707
    Universalism      0.346    0.031   11.015    0.000    1.000    1.000
    TraditnCnfrmty    0.401    0.036   11.251    0.000    1.000    1.000
    PerceivedThret    4.167    0.178   23.464    0.000    1.000    1.000

Fixed factor method

scfa_fit_scalar_partial2 <- cfa(
  model = "
    Universalism =~ c(NA,NA,NA)*ipeqopt + c(a,a,a)*ipeqopt + c(b,b,b)*ipudrst + c(c,c,c)*impenv
    ipeqopt ~ c(k,k,k)*1
    ipudrst ~ c(l,l,l)*1
    impenv ~ c(m,m,m)*1
    Universalism ~ c(0,NA,NA)*1
    Universalism ~~ c(1,NA,NA)*Universalism
    
    TraditionConformity =~ c(NA,NA,NA)*imptrad + c(d,d,d)*imptrad + c(e,e,e)*ipfrule + c(f,f,f)*ipbhprp
    imptrad ~ c(o,o,o)*1
    ipfrule ~ c(p,p,p)*1
    ipbhprp ~ c(NA,NA,NA)*1 # !
    TraditionConformity ~ c(0,NA,NA)*1
    TraditionConformity ~~ c(1,NA,NA)*TraditionConformity
    
    PerceivedThreat =~ c(NA,NA,NA)*imbgeco + c(g,g,g)*imbgeco + c(h,h,h)*imueclt + c(i,i,i)*imtcjob + c(j,j,j)*rlgueim
    imueclt ~~ rlgueim
    imbgeco ~ c(r,r,r)*1
    imueclt ~ c(s,s,s)*1
    imtcjob ~ c(t,t,t)*1
    rlgueim ~ c(u,u,u)*1
    PerceivedThreat ~ c(0,NA,NA)*1
    PerceivedThreat ~~ c(1,NA,NA)*PerceivedThreat
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = scfa_fit_scalar_partial2,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 117 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                       114
  Number of equality constraints                    38

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               811.457     701.358
  Degrees of freedom                               119         119
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.157
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                         225.171     194.620
    DE                                         308.736     266.846
    GB                                         277.550     239.892

Model Test Baseline Model:

  Test statistic                             11661.448    9234.176
  Degrees of freedom                               135         135
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.263

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.940       0.936
  Tucker-Lewis Index (TLI)                       0.932       0.927
                                                                  
  Robust Comparative Fit Index (CFI)                         0.941
  Robust Tucker-Lewis Index (TLI)                            0.933

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)            -101153.364 -101153.364
  Scaling correction factor                                  0.831
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)    -100747.635 -100747.635
  Scaling correction factor                                  1.192
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                              202458.727  202458.727
  Bayesian (BIC)                            202965.888  202965.888
  Sample-size adjusted Bayesian (BIC)       202724.382  202724.382

Root Mean Square Error of Approximation:

  RMSEA                                          0.055       0.050
  90 Percent confidence interval - lower         0.051       0.047
  90 Percent confidence interval - upper         0.058       0.053
  P-value RMSEA <= 0.05                          0.015       0.469
                                                                  
  Robust RMSEA                                               0.054
  90 Percent confidence interval - lower                     0.050
  90 Percent confidence interval - upper                     0.058

Standardized Root Mean Square Residual:

  SRMR                                           0.042       0.042

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt    (a)          0.619    0.027   23.322    0.000    0.619    0.579
    ipudrst    (b)          0.674    0.027   25.115    0.000    0.674    0.601
    impenv     (c)          0.500    0.026   19.092    0.000    0.500    0.491
  TraditionConformity =~                                                      
    imptrad    (d)          0.538    0.026   20.454    0.000    0.538    0.424
    ipfrule    (e)          0.723    0.028   26.252    0.000    0.723    0.631
    ipbhprp    (f)          0.746    0.032   23.161    0.000    0.746    0.644
  PerceivedThreat =~                                                          
    imbgeco    (g)          1.580    0.042   37.618    0.000    1.580    0.767
    imueclt    (h)          1.624    0.043   37.730    0.000    1.624    0.791
    imtcjob    (i)          1.257    0.038   33.210    0.000    1.257    0.594
    rlgueim    (j)          0.949    0.033   28.425    0.000    0.949    0.473

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.313    0.112    2.787    0.005    0.313    0.141
  Universalism ~~                                                             
    TraditnCnfrmty          0.839    0.041   20.701    0.000    0.839    0.839
    PerceivedThret         -0.072    0.040   -1.790    0.073   -0.072   -0.072
  TraditionConformity ~~                                                      
    PerceivedThret          0.067    0.041    1.618    0.106    0.067    0.067

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt    (k)    4.566    0.026  176.328    0.000    4.566    4.271
   .ipudrst    (l)    4.312    0.028  154.123    0.000    4.312    3.844
   .impenv     (m)    4.573    0.023  196.040    0.000    4.573    4.491
    Universlsm        0.000                               0.000    0.000
   .imptrad    (o)    4.552    0.026  177.578    0.000    4.552    3.590
   .ipfrule    (p)    4.250    0.031  136.700    0.000    4.250    3.710
   .ipbhprp           4.477    0.031  142.505    0.000    4.477    3.868
    TrdtnCnfrm        0.000                               0.000    0.000
   .imbgeco    (r)    6.385    0.052  123.376    0.000    6.385    3.099
   .imueclt    (s)    6.138    0.052  117.877    0.000    6.138    2.990
   .imtcjob    (t)    6.305    0.051  124.771    0.000    6.305    2.978
   .rlgueim    (u)    6.158    0.042  146.916    0.000    6.158    3.070
    PercvdThrt        0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    Universalism      1.000                               1.000    1.000
    TraditnCnfrmty    1.000                               1.000    1.000
    PerceivedThret    1.000                               1.000    1.000
   .ipeqopt           0.760    0.049   15.556    0.000    0.760    0.665
   .ipudrst           0.805    0.045   18.047    0.000    0.805    0.639
   .impenv            0.787    0.038   20.901    0.000    0.787    0.759
   .imptrad           1.318    0.063   20.848    0.000    1.318    0.820
   .ipfrule           0.790    0.050   15.858    0.000    0.790    0.602
   .ipbhprp           0.784    0.054   14.582    0.000    0.784    0.585
   .imbgeco           1.751    0.129   13.532    0.000    1.751    0.412
   .imueclt           1.575    0.136   11.595    0.000    1.575    0.374
   .imtcjob           2.901    0.154   18.785    0.000    2.901    0.647
   .rlgueim           3.122    0.170   18.387    0.000    3.122    0.776


Group 2 [DE]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt    (a)          0.619    0.027   23.322    0.000    0.481    0.502
    ipudrst    (b)          0.674    0.027   25.115    0.000    0.523    0.591
    impenv     (c)          0.500    0.026   19.092    0.000    0.389    0.411
  TraditionConformity =~                                                      
    imptrad    (d)          0.538    0.026   20.454    0.000    0.613    0.449
    ipfrule    (e)          0.723    0.028   26.252    0.000    0.823    0.585
    ipbhprp    (f)          0.746    0.032   23.161    0.000    0.849    0.650
  PerceivedThreat =~                                                          
    imbgeco    (g)          1.580    0.042   37.618    0.000    1.744    0.765
    imueclt    (h)          1.624    0.043   37.730    0.000    1.794    0.756
    imtcjob    (i)          1.257    0.038   33.210    0.000    1.388    0.664
    rlgueim    (j)          0.949    0.033   28.425    0.000    1.048    0.507

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.712    0.088    8.110    0.000    0.712    0.257
  Universalism ~~                                                             
    TraditnCnfrmty          0.174    0.035    4.989    0.000    0.197    0.197
    PerceivedThret         -0.369    0.034  -10.815    0.000   -0.430   -0.430
  TraditionConformity ~~                                                      
    PerceivedThret          0.296    0.040    7.316    0.000    0.235    0.235

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt    (k)    4.566    0.026  176.328    0.000    4.566    4.769
   .ipudrst    (l)    4.312    0.028  154.123    0.000    4.312    4.865
   .impenv     (m)    4.573    0.023  196.040    0.000    4.573    4.841
    Universlsm        0.923    0.050   18.376    0.000    1.187    1.187
   .imptrad    (o)    4.552    0.026  177.578    0.000    4.552    3.335
   .ipfrule    (p)    4.250    0.031  136.700    0.000    4.250    3.023
   .ipbhprp           4.876    0.050   97.406    0.000    4.876    3.733
    TrdtnCnfrm       -1.079    0.070  -15.447    0.000   -0.948   -0.948
   .imbgeco    (r)    6.385    0.052  123.376    0.000    6.385    2.802
   .imueclt    (s)    6.138    0.052  117.877    0.000    6.138    2.587
   .imtcjob    (t)    6.305    0.051  124.771    0.000    6.305    3.014
   .rlgueim    (u)    6.158    0.042  146.916    0.000    6.158    2.979
    PercvdThrt       -1.442    0.051  -28.538    0.000   -1.306   -1.306

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    Universalism      0.604    0.060    9.994    0.000    1.000    1.000
    TraditnCnfrmty    1.296    0.109   11.903    0.000    1.000    1.000
    PerceivedThret    1.219    0.077   15.919    0.000    1.000    1.000
   .ipeqopt           0.685    0.038   17.836    0.000    0.685    0.748
   .ipudrst           0.512    0.028   18.106    0.000    0.512    0.651
   .impenv            0.741    0.030   24.645    0.000    0.741    0.831
   .imptrad           1.488    0.045   32.784    0.000    1.488    0.799
   .ipfrule           1.300    0.046   28.096    0.000    1.300    0.657
   .ipbhprp           0.986    0.047   20.876    0.000    0.986    0.578
   .imbgeco           2.150    0.111   19.298    0.000    2.150    0.414
   .imueclt           2.413    0.118   20.479    0.000    2.413    0.429
   .imtcjob           2.448    0.112   21.899    0.000    2.448    0.560
   .rlgueim           3.175    0.110   28.942    0.000    3.175    0.743


Group 3 [GB]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt    (a)          0.619    0.027   23.322    0.000    0.588    0.557
    ipudrst    (b)          0.674    0.027   25.115    0.000    0.640    0.609
    impenv     (c)          0.500    0.026   19.092    0.000    0.475    0.436
  TraditionConformity =~                                                      
    imptrad    (d)          0.538    0.026   20.454    0.000    0.633    0.446
    ipfrule    (e)          0.723    0.028   26.252    0.000    0.851    0.593
    ipbhprp    (f)          0.746    0.032   23.161    0.000    0.877    0.676
  PerceivedThreat =~                                                          
    imbgeco    (g)          1.580    0.042   37.618    0.000    2.041    0.826
    imueclt    (h)          1.624    0.043   37.730    0.000    2.099    0.790
    imtcjob    (i)          1.257    0.038   33.210    0.000    1.624    0.688
    rlgueim    (j)          0.949    0.033   28.425    0.000    1.227    0.541

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.915    0.131    6.969    0.000    0.915    0.295
  Universalism ~~                                                             
    TraditnCnfrmty          0.271    0.054    5.027    0.000    0.243    0.243
    PerceivedThret         -0.492    0.051   -9.663    0.000   -0.400   -0.400
  TraditionConformity ~~                                                      
    PerceivedThret          0.317    0.057    5.594    0.000    0.208    0.208

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt    (k)    4.566    0.026  176.328    0.000    4.566    4.325
   .ipudrst    (l)    4.312    0.028  154.123    0.000    4.312    4.102
   .impenv     (m)    4.573    0.023  196.040    0.000    4.573    4.192
    Universlsm        0.623    0.050   12.506    0.000    0.655    0.655
   .imptrad    (o)    4.552    0.026  177.578    0.000    4.552    3.211
   .ipfrule    (p)    4.250    0.031  136.700    0.000    4.250    2.962
   .ipbhprp           4.986    0.050   99.440    0.000    4.986    3.845
    TrdtnCnfrm       -0.834    0.069  -12.074    0.000   -0.709   -0.709
   .imbgeco    (r)    6.385    0.052  123.376    0.000    6.385    2.583
   .imueclt    (s)    6.138    0.052  117.877    0.000    6.138    2.310
   .imtcjob    (t)    6.305    0.051  124.771    0.000    6.305    2.672
   .rlgueim    (u)    6.158    0.042  146.916    0.000    6.158    2.717
    PercvdThrt       -0.771    0.048  -16.002    0.000   -0.596   -0.596

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    Universalism      0.904    0.097    9.300    0.000    1.000    1.000
    TraditnCnfrmty    1.384    0.124   11.200    0.000    1.000    1.000
    PerceivedThret    1.670    0.106   15.778    0.000    1.000    1.000
   .ipeqopt           0.769    0.043   17.968    0.000    0.769    0.689
   .ipudrst           0.695    0.040   17.277    0.000    0.695    0.629
   .impenv            0.964    0.041   23.788    0.000    0.964    0.810
   .imptrad           1.610    0.054   29.598    0.000    1.610    0.801
   .ipfrule           1.336    0.058   23.109    0.000    1.336    0.649
   .ipbhprp           0.913    0.055   16.477    0.000    0.913    0.542
   .imbgeco           1.946    0.128   15.199    0.000    1.946    0.318
   .imueclt           2.653    0.166   15.963    0.000    2.653    0.376
   .imtcjob           2.929    0.147   19.859    0.000    2.929    0.526
   .rlgueim           3.632    0.151   24.075    0.000    3.632    0.707

Comparing fit statistics

Reference indicator method

compFit.scfa.3 <- compareFit(
  scalar = scfa_fit_scalar_partial,
  metric = scfa_fit_metric,
  config = scfa_fit_config,
  argsLRT = list(method = "satorra.bentler.2001")
)
summary(
  object = compFit.scfa.3, 
  fit.measures = c("chisq.scaled", "df.scaled", "pvalue.scaled", 
                   "rmsea.scaled", "cfi.scaled", "tli.scaled",
                   "srmr", "aic", "bic")
  ) 
################### Nested Model Comparison #########################
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")

lavaan NOTE:
    The "Chisq" column contains standard test statistics, not the
    robust test that should be reported per model. A robust difference
    test is a function of two standard (not robust) statistics.
 
        Df    AIC    BIC  Chisq Chisq diff Df diff Pr(>Chisq)    
config  93 202254 202935 555.17                                  
metric 107 202264 202851 592.98     31.036      14   0.005479 ** 
scalar 119 202459 202966 811.46    211.475      12  < 2.2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

####################### Model Fit Indices ###########################
       chisq.scaled df.scaled pvalue.scaled rmsea.scaled cfi.scaled tli.scaled
config     477.046†        93          .000        .046       .958†      .939 
metric     506.441        107          .000        .044†      .956       .945†
scalar     701.358        119          .000        .050       .936       .927 
        srmr         aic         bic
config .034† 202254.443† 202935.107 
metric .036  202264.246  202851.485†
scalar .042  202458.727  202965.888 

################## Differences in Fit Indices #######################
                df.scaled rmsea.scaled cfi.scaled tli.scaled  srmr     aic
metric - config        14       -0.002     -0.002      0.006 0.002   9.802
scalar - metric        12        0.006     -0.020     -0.017 0.006 194.481
                    bic
metric - config -83.622
scalar - metric 114.403

Fixed factor method

compFit.scfa.4 <- compareFit(
  scalar = scfa_fit_scalar_partial2,
  metric = scfa_fit_metric2,
  config = scfa_fit_config2,
  argsLRT = list(method = "satorra.bentler.2001")
)
summary(
  object = compFit.scfa.4, 
  fit.measures = c("chisq.scaled", "df.scaled", "pvalue.scaled", 
                   "rmsea.scaled", "cfi.scaled", "tli.scaled",
                   "srmr", "aic", "bic")
  ) 
################### Nested Model Comparison #########################
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")

lavaan NOTE:
    The "Chisq" column contains standard test statistics, not the
    robust test that should be reported per model. A robust difference
    test is a function of two standard (not robust) statistics.
 
        Df    AIC    BIC  Chisq Chisq diff Df diff Pr(>Chisq)    
config  93 202254 202935 555.17                                  
metric 107 202264 202851 592.98     31.036      14   0.005479 ** 
scalar 119 202459 202966 811.46    211.476      12  < 2.2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

####################### Model Fit Indices ###########################
       chisq.scaled df.scaled pvalue.scaled rmsea.scaled cfi.scaled tli.scaled
config     477.046†        93          .000        .046       .958†      .939 
metric     506.441        107          .000        .044†      .956       .945†
scalar     701.358        119          .000        .050       .936       .927 
        srmr         aic         bic
config .034† 202254.443† 202935.107 
metric .036  202264.246  202851.485†
scalar .042  202458.727  202965.888 

################## Differences in Fit Indices #######################
                df.scaled rmsea.scaled cfi.scaled tli.scaled  srmr     aic
metric - config        14       -0.002     -0.002      0.006 0.002   9.802
scalar - metric        12        0.006     -0.020     -0.017 0.006 194.481
                    bic
metric - config -83.622
scalar - metric 114.403

2 Search for parameters

scfa_fit_scalar_partial %>% 
  lavTestScore() %>% 
  # optional for better display 
  export_table(table_width = 1, digits = 2)
test  |     X2 | df | p.value
-----------------------------
score | 251.56 | 32 |       0

lhs   | op |    rhs |    X2 | df |  p.value
-------------------------------------------
.p2.  | == |  .p42. |  8.76 |  1 | 3.08e-03
.p2.  | == |  .p82. |  0.08 |  1 |     0.77
.p3.  | == |  .p43. |  3.78 |  1 |     0.05
.p3.  | == |  .p83. |  5.47 |  1 |     0.02
.p5.  | == |  .p45. |  6.19 |  1 |     0.01
.p5.  | == |  .p85. |  0.36 |  1 |     0.55
.p6.  | == |  .p46. |  0.14 |  1 |     0.71
.p6.  | == |  .p86. |  4.86 |  1 |     0.03
.p8.  | == |  .p48. |  1.83 |  1 |     0.18
.p8.  | == |  .p88. |  0.42 |  1 |     0.52
.p9.  | == |  .p49. |  2.25 |  1 |     0.13
.p9.  | == |  .p89. |  2.42 |  1 |     0.12
.p10. | == |  .p50. |  1.92 |  1 |     0.17
.p10. | == |  .p90. |  1.29 |  1 |     0.26
.p28. | == |  .p68. |  1.85 |  1 |     0.17
.p28. | == | .p108. |  8.76 |  1 | 3.07e-03
.p29. | == |  .p69. | 20.39 |  1 | 6.31e-06
.p29. | == | .p109. |  1.61 |  1 |     0.20
.p30. | == |  .p70. | 15.87 |  1 | 6.80e-05
.p30. | == | .p110. |  3.93 |  1 |     0.05
.p31. | == |  .p71. | 17.61 |  1 | 2.71e-05
.p31. | == | .p111. |  3.27 |  1 |     0.07
.p32. | == |  .p72. | 17.61 |  1 | 2.71e-05
.p32. | == | .p112. |  3.27 |  1 |     0.07
.p34. | == |  .p74. | 45.53 |  1 | 1.50e-11
.p34. | == | .p114. | 11.66 |  1 | 6.38e-04
.p35. | == |  .p75. |  5.43 |  1 |     0.02
.p35. | == | .p115. |  7.71 |  1 | 5.50e-03
.p36. | == |  .p76. | 19.06 |  1 | 1.27e-05
.p36. | == | .p116. |  4.47 |  1 |     0.03
.p37. | == |  .p77. |  0.76 |  1 |     0.38
.p37. | == | .p117. | 12.10 |  1 | 5.05e-04

.p22. == .p62. -> Constraint with the largest χ2reduction

What do the parameter labels (.p22. & .p62.) mean?

scfa_fit_scalar_partial %>% 
  parTable() %>% 
  select(lhs, op, rhs, group, label, plabel, est, se) %>% 
  # optional for better display 
  export_table(table_width = 1, digits = 2)
lhs                 | op |                 rhs | group | label | plabel |       est |   se
------------------------------------------------------------------------------------------
Universalism        | =~ |             ipeqopt |     1 |       |   .p1. |      1.00 | 0.00
Universalism        | =~ |             ipudrst |     1 |  .p2. |   .p2. |      1.09 | 0.05
Universalism        | =~ |              impenv |     1 |  .p3. |   .p3. |      0.81 | 0.04
TraditionConformity | =~ |             imptrad |     1 |       |   .p4. |      1.00 | 0.00
TraditionConformity | =~ |             ipfrule |     1 |  .p5. |   .p5. |      1.34 | 0.05
TraditionConformity | =~ |             ipbhprp |     1 |  .p6. |   .p6. |      1.39 | 0.07
PerceivedThreat     | =~ |             imbgeco |     1 |       |   .p7. |      1.00 | 0.00
PerceivedThreat     | =~ |             imueclt |     1 |  .p8. |   .p8. |      1.03 | 0.02
PerceivedThreat     | =~ |             imtcjob |     1 |  .p9. |   .p9. |      0.80 | 0.02
PerceivedThreat     | =~ |             rlgueim |     1 | .p10. |  .p10. |      0.60 | 0.02
imueclt             | ~~ |             rlgueim |     1 |       |  .p11. |      0.31 | 0.11
ipeqopt             | ~~ |             ipeqopt |     1 |       |  .p12. |      0.76 | 0.05
ipudrst             | ~~ |             ipudrst |     1 |       |  .p13. |      0.80 | 0.04
impenv              | ~~ |              impenv |     1 |       |  .p14. |      0.79 | 0.04
imptrad             | ~~ |             imptrad |     1 |       |  .p15. |      1.32 | 0.06
ipfrule             | ~~ |             ipfrule |     1 |       |  .p16. |      0.79 | 0.05
ipbhprp             | ~~ |             ipbhprp |     1 |       |  .p17. |      0.78 | 0.05
imbgeco             | ~~ |             imbgeco |     1 |       |  .p18. |      1.75 | 0.13
imueclt             | ~~ |             imueclt |     1 |       |  .p19. |      1.58 | 0.14
imtcjob             | ~~ |             imtcjob |     1 |       |  .p20. |      2.90 | 0.15
rlgueim             | ~~ |             rlgueim |     1 |       |  .p21. |      3.12 | 0.17
Universalism        | ~~ |        Universalism |     1 |       |  .p22. |      0.38 | 0.03
TraditionConformity | ~~ | TraditionConformity |     1 |       |  .p23. |      0.29 | 0.03
PerceivedThreat     | ~~ |     PerceivedThreat |     1 |       |  .p24. |      2.50 | 0.13
Universalism        | ~~ | TraditionConformity |     1 |       |  .p25. |      0.28 | 0.02
Universalism        | ~~ |     PerceivedThreat |     1 |       |  .p26. |     -0.07 | 0.04
TraditionConformity | ~~ |     PerceivedThreat |     1 |       |  .p27. |      0.06 | 0.04
ipeqopt             | ~1 |                     |     1 | .p28. |  .p28. |      4.57 | 0.03
ipudrst             | ~1 |                     |     1 | .p29. |  .p29. |      4.31 | 0.03
impenv              | ~1 |                     |     1 | .p30. |  .p30. |      4.57 | 0.02
imptrad             | ~1 |                     |     1 | .p31. |  .p31. |      4.55 | 0.03
ipfrule             | ~1 |                     |     1 | .p32. |  .p32. |      4.25 | 0.03
ipbhprp             | ~1 |                     |     1 |       |  .p33. |      4.48 | 0.03
imbgeco             | ~1 |                     |     1 | .p34. |  .p34. |      6.39 | 0.05
imueclt             | ~1 |                     |     1 | .p35. |  .p35. |      6.14 | 0.05
imtcjob             | ~1 |                     |     1 | .p36. |  .p36. |      6.30 | 0.05
rlgueim             | ~1 |                     |     1 | .p37. |  .p37. |      6.16 | 0.04
Universalism        | ~1 |                     |     1 |       |  .p38. |      0.00 | 0.00
TraditionConformity | ~1 |                     |     1 |       |  .p39. |      0.00 | 0.00
PerceivedThreat     | ~1 |                     |     1 |       |  .p40. |      0.00 | 0.00
Universalism        | =~ |             ipeqopt |     2 |       |  .p41. |      1.00 | 0.00
Universalism        | =~ |             ipudrst |     2 |  .p2. |  .p42. |      1.09 | 0.05
Universalism        | =~ |              impenv |     2 |  .p3. |  .p43. |      0.81 | 0.04
TraditionConformity | =~ |             imptrad |     2 |       |  .p44. |      1.00 | 0.00
TraditionConformity | =~ |             ipfrule |     2 |  .p5. |  .p45. |      1.34 | 0.05
TraditionConformity | =~ |             ipbhprp |     2 |  .p6. |  .p46. |      1.39 | 0.07
PerceivedThreat     | =~ |             imbgeco |     2 |       |  .p47. |      1.00 | 0.00
PerceivedThreat     | =~ |             imueclt |     2 |  .p8. |  .p48. |      1.03 | 0.02
PerceivedThreat     | =~ |             imtcjob |     2 |  .p9. |  .p49. |      0.80 | 0.02
PerceivedThreat     | =~ |             rlgueim |     2 | .p10. |  .p50. |      0.60 | 0.02
imueclt             | ~~ |             rlgueim |     2 |       |  .p51. |      0.71 | 0.09
ipeqopt             | ~~ |             ipeqopt |     2 |       |  .p52. |      0.69 | 0.04
ipudrst             | ~~ |             ipudrst |     2 |       |  .p53. |      0.51 | 0.03
impenv              | ~~ |              impenv |     2 |       |  .p54. |      0.74 | 0.03
imptrad             | ~~ |             imptrad |     2 |       |  .p55. |      1.49 | 0.05
ipfrule             | ~~ |             ipfrule |     2 |       |  .p56. |      1.30 | 0.05
ipbhprp             | ~~ |             ipbhprp |     2 |       |  .p57. |      0.99 | 0.05
imbgeco             | ~~ |             imbgeco |     2 |       |  .p58. |      2.15 | 0.11
imueclt             | ~~ |             imueclt |     2 |       |  .p59. |      2.41 | 0.12
imtcjob             | ~~ |             imtcjob |     2 |       |  .p60. |      2.45 | 0.11
rlgueim             | ~~ |             rlgueim |     2 |       |  .p61. |      3.17 | 0.11
Universalism        | ~~ |        Universalism |     2 |       |  .p62. |      0.23 | 0.02
TraditionConformity | ~~ | TraditionConformity |     2 |       |  .p63. |      0.38 | 0.03
PerceivedThreat     | ~~ |     PerceivedThreat |     2 |       |  .p64. |      3.04 | 0.14
Universalism        | ~~ | TraditionConformity |     2 |       |  .p65. |      0.06 | 0.01
Universalism        | ~~ |     PerceivedThreat |     2 |       |  .p66. |     -0.36 | 0.03
TraditionConformity | ~~ |     PerceivedThreat |     2 |       |  .p67. |      0.25 | 0.03
ipeqopt             | ~1 |                     |     2 | .p28. |  .p68. |      4.57 | 0.03
ipudrst             | ~1 |                     |     2 | .p29. |  .p69. |      4.31 | 0.03
impenv              | ~1 |                     |     2 | .p30. |  .p70. |      4.57 | 0.02
imptrad             | ~1 |                     |     2 | .p31. |  .p71. |      4.55 | 0.03
ipfrule             | ~1 |                     |     2 | .p32. |  .p72. |      4.25 | 0.03
ipbhprp             | ~1 |                     |     2 |       |  .p73. |      4.88 | 0.05
imbgeco             | ~1 |                     |     2 | .p34. |  .p74. |      6.39 | 0.05
imueclt             | ~1 |                     |     2 | .p35. |  .p75. |      6.14 | 0.05
imtcjob             | ~1 |                     |     2 | .p36. |  .p76. |      6.30 | 0.05
rlgueim             | ~1 |                     |     2 | .p37. |  .p77. |      6.16 | 0.04
Universalism        | ~1 |                     |     2 |       |  .p78. |      0.57 | 0.03
TraditionConformity | ~1 |                     |     2 |       |  .p79. |     -0.58 | 0.03
PerceivedThreat     | ~1 |                     |     2 |       |  .p80. |     -2.28 | 0.06
Universalism        | =~ |             ipeqopt |     3 |       |  .p81. |      1.00 | 0.00
Universalism        | =~ |             ipudrst |     3 |  .p2. |  .p82. |      1.09 | 0.05
Universalism        | =~ |              impenv |     3 |  .p3. |  .p83. |      0.81 | 0.04
TraditionConformity | =~ |             imptrad |     3 |       |  .p84. |      1.00 | 0.00
TraditionConformity | =~ |             ipfrule |     3 |  .p5. |  .p85. |      1.34 | 0.05
TraditionConformity | =~ |             ipbhprp |     3 |  .p6. |  .p86. |      1.39 | 0.07
PerceivedThreat     | =~ |             imbgeco |     3 |       |  .p87. |      1.00 | 0.00
PerceivedThreat     | =~ |             imueclt |     3 |  .p8. |  .p88. |      1.03 | 0.02
PerceivedThreat     | =~ |             imtcjob |     3 |  .p9. |  .p89. |      0.80 | 0.02
PerceivedThreat     | =~ |             rlgueim |     3 | .p10. |  .p90. |      0.60 | 0.02
imueclt             | ~~ |             rlgueim |     3 |       |  .p91. |      0.91 | 0.13
ipeqopt             | ~~ |             ipeqopt |     3 |       |  .p92. |      0.77 | 0.04
ipudrst             | ~~ |             ipudrst |     3 |       |  .p93. |      0.69 | 0.04
impenv              | ~~ |              impenv |     3 |       |  .p94. |      0.96 | 0.04
imptrad             | ~~ |             imptrad |     3 |       |  .p95. |      1.61 | 0.05
ipfrule             | ~~ |             ipfrule |     3 |       |  .p96. |      1.34 | 0.06
ipbhprp             | ~~ |             ipbhprp |     3 |       |  .p97. |      0.91 | 0.06
imbgeco             | ~~ |             imbgeco |     3 |       |  .p98. |      1.95 | 0.13
imueclt             | ~~ |             imueclt |     3 |       |  .p99. |      2.65 | 0.17
imtcjob             | ~~ |             imtcjob |     3 |       | .p100. |      2.93 | 0.15
rlgueim             | ~~ |             rlgueim |     3 |       | .p101. |      3.63 | 0.15
Universalism        | ~~ |        Universalism |     3 |       | .p102. |      0.35 | 0.03
TraditionConformity | ~~ | TraditionConformity |     3 |       | .p103. |      0.40 | 0.04
PerceivedThreat     | ~~ |     PerceivedThreat |     3 |       | .p104. |      4.17 | 0.18
Universalism        | ~~ | TraditionConformity |     3 |       | .p105. |      0.09 | 0.02
Universalism        | ~~ |     PerceivedThreat |     3 |       | .p106. |     -0.48 | 0.05
TraditionConformity | ~~ |     PerceivedThreat |     3 |       | .p107. |      0.27 | 0.05
ipeqopt             | ~1 |                     |     3 | .p28. | .p108. |      4.57 | 0.03
ipudrst             | ~1 |                     |     3 | .p29. | .p109. |      4.31 | 0.03
impenv              | ~1 |                     |     3 | .p30. | .p110. |      4.57 | 0.02
imptrad             | ~1 |                     |     3 | .p31. | .p111. |      4.55 | 0.03
ipfrule             | ~1 |                     |     3 | .p32. | .p112. |      4.25 | 0.03
ipbhprp             | ~1 |                     |     3 |       | .p113. |      4.99 | 0.05
imbgeco             | ~1 |                     |     3 | .p34. | .p114. |      6.39 | 0.05
imueclt             | ~1 |                     |     3 | .p35. | .p115. |      6.14 | 0.05
imtcjob             | ~1 |                     |     3 | .p36. | .p116. |      6.30 | 0.05
rlgueim             | ~1 |                     |     3 | .p37. | .p117. |      6.16 | 0.04
Universalism        | ~1 |                     |     3 |       | .p118. |      0.39 | 0.03
TraditionConformity | ~1 |                     |     3 |       | .p119. |     -0.45 | 0.03
PerceivedThreat     | ~1 |                     |     3 |       | .p120. |     -1.22 | 0.07
.p2.                | == |               .p42. |     0 |       |        | -2.22e-16 | 0.00
.p2.                | == |               .p82. |     0 |       |        |  4.44e-16 | 0.00
.p3.                | == |               .p43. |     0 |       |        |      0.00 | 0.00
.p3.                | == |               .p83. |     0 |       |        |  6.66e-16 | 0.00
.p5.                | == |               .p45. |     0 |       |        |  2.22e-16 | 0.00
.p5.                | == |               .p85. |     0 |       |        |  4.44e-16 | 0.00
.p6.                | == |               .p46. |     0 |       |        | -2.22e-16 | 0.00
.p6.                | == |               .p86. |     0 |       |        | -2.22e-16 | 0.00
.p8.                | == |               .p48. |     0 |       |        |  2.22e-16 | 0.00
.p8.                | == |               .p88. |     0 |       |        |  4.44e-16 | 0.00
.p9.                | == |               .p49. |     0 |       |        | -2.22e-16 | 0.00
.p9.                | == |               .p89. |     0 |       |        |  4.44e-16 | 0.00
.p10.               | == |               .p50. |     0 |       |        |      0.00 | 0.00
.p10.               | == |               .p90. |     0 |       |        |  5.55e-16 | 0.00
.p28.               | == |               .p68. |     0 |       |        | -8.88e-16 | 0.00
.p28.               | == |              .p108. |     0 |       |        |      0.00 | 0.00
.p29.               | == |               .p69. |     0 |       |        |      0.00 | 0.00
.p29.               | == |              .p109. |     0 |       |        |  2.66e-15 | 0.00
.p30.               | == |               .p70. |     0 |       |        |      0.00 | 0.00
.p30.               | == |              .p110. |     0 |       |        |      0.00 | 0.00
.p31.               | == |               .p71. |     0 |       |        |  1.78e-15 | 0.00
.p31.               | == |              .p111. |     0 |       |        |  1.78e-15 | 0.00
.p32.               | == |               .p72. |     0 |       |        |      0.00 | 0.00
.p32.               | == |              .p112. |     0 |       |        |      0.00 | 0.00
.p34.               | == |               .p74. |     0 |       |        |      0.00 | 0.00
.p34.               | == |              .p114. |     0 |       |        |  1.78e-15 | 0.00
.p35.               | == |               .p75. |     0 |       |        | -8.88e-16 | 0.00
.p35.               | == |              .p115. |     0 |       |        |  8.88e-16 | 0.00
.p36.               | == |               .p76. |     0 |       |        | -8.88e-16 | 0.00
.p36.               | == |              .p116. |     0 |       |        |  1.78e-15 | 0.00
.p37.               | == |               .p77. |     0 |       |        |      0.00 | 0.00
.p37.               | == |              .p117. |     0 |       |        |  8.88e-16 | 0.00

Since no further parameters are recommended after the LavTestScore() function, we use the results of the partial measurement invariance of the individual CFAs. With this we also release the variables impenv and imbgeco.

Reference indicator method

scfa_fit_scalar_partial3 <- cfa(
  model = "
    Universalism =~ ipeqopt + ipudrst + impenv
    TraditionConformity =~ imptrad + ipfrule + ipbhprp
    PerceivedThreat =~ imbgeco + imueclt + imtcjob + rlgueim
    imueclt ~~ rlgueim
  ",
  data = ESS07,
  estimator = "MLR",
  group = "country",
  group.equal = c("loadings", "intercepts"),
  group.partial = c("ipbhprp~1", "impenv~1", "imbgeco~1"),
  # optional if there are missing values
  missing = "fiml.x"
)
summary(
  object = scfa_fit_scalar_partial3,
  fit.measures = T,
  standardized = T
  # rsquare = T
)
lavaan 0.6-12 ended normally after 119 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                       108
  Number of equality constraints                    28

  Number of observations per group:                   
    CZ                                            1393
    DE                                            2671
    GB                                            1780
  Number of missing patterns per group:               
    CZ                                               1
    DE                                               1
    GB                                               1

Model Test User Model:
                                              Standard      Robust
  Test Statistic                               707.291     608.850
  Degrees of freedom                               115         115
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.162
    Yuan-Bentler correction (Mplus variant)                       
  Test statistic for each group:
    CZ                                         158.542     136.476
    DE                                         267.512     230.279
    GB                                         281.237     242.094

Model Test Baseline Model:

  Test statistic                             11661.448    9234.176
  Degrees of freedom                               135         135
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.263

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.949       0.946
  Tucker-Lewis Index (TLI)                       0.940       0.936
                                                                  
  Robust Comparative Fit Index (CFI)                         0.950
  Robust Tucker-Lewis Index (TLI)                            0.941

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)            -101101.281 -101101.281
  Scaling correction factor                                  0.915
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)    -100747.635 -100747.635
  Scaling correction factor                                  1.192
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                              202362.561  202362.561
  Bayesian (BIC)                            202896.415  202896.415
  Sample-size adjusted Bayesian (BIC)       202642.198  202642.198

Root Mean Square Error of Approximation:

  RMSEA                                          0.051       0.047
  90 Percent confidence interval - lower         0.048       0.044
  90 Percent confidence interval - upper         0.055       0.050
  P-value RMSEA <= 0.05                          0.255       0.927
                                                                  
  Robust RMSEA                                               0.051
  90 Percent confidence interval - lower                     0.047
  90 Percent confidence interval - upper                     0.055

Standardized Root Mean Square Residual:

  SRMR                                           0.040       0.040

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian


Group 1 [CZ]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.600    0.565
    ipudrst (.p2.)          1.090    0.043   25.606    0.000    0.654    0.588
    impenv  (.p3.)          0.952    0.049   19.479    0.000    0.572    0.556
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.540    0.426
    ipfrule (.p5.)          1.340    0.053   25.086    0.000    0.723    0.631
    ipbhprp (.p6.)          1.380    0.065   21.145    0.000    0.744    0.643
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               1.657    0.796
    imueclt (.p8.)          0.948    0.022   43.229    0.000    1.571    0.769
    imtcjob (.p9.)          0.746    0.016   45.442    0.000    1.236    0.589
    rlgueim (.10.)          0.551    0.019   28.846    0.000    0.913    0.456

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.406    0.115    3.540    0.000    0.406    0.174
  Universalism ~~                                                             
    TraditnCnfrmty          0.272    0.019   13.937    0.000    0.839    0.839
    PerceivedThret         -0.066    0.040   -1.663    0.096   -0.067   -0.067
  TraditionConformity ~~                                                      
    PerceivedThret          0.056    0.037    1.499    0.134    0.062    0.062

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt (.28.)    4.525    0.026  176.563    0.000    4.525    4.260
   .ipudrst (.29.)    4.264    0.027  155.240    0.000    4.264    3.830
   .impenv            4.688    0.028  166.708    0.000    4.688    4.561
   .imptrad (.31.)    4.553    0.026  177.481    0.000    4.553    3.591
   .ipfrule (.32.)    4.249    0.031  136.626    0.000    4.249    3.710
   .ipbhprp           4.477    0.031  142.505    0.000    4.477    3.866
   .imbgeco           6.317    0.056  113.018    0.000    6.317    3.036
   .imueclt (.35.)    6.181    0.052  118.119    0.000    6.181    3.025
   .imtcjob (.36.)    6.365    0.053  119.867    0.000    6.365    3.034
   .rlgueim (.37.)    6.180    0.042  147.292    0.000    6.180    3.083
    Unvrsls           0.000                               0.000    0.000
    TrdtnCn           0.000                               0.000    0.000
    PrcvdTh           0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.768    0.047   16.219    0.000    0.768    0.681
   .ipudrst           0.811    0.043   18.868    0.000    0.811    0.655
   .impenv            0.730    0.040   18.461    0.000    0.730    0.691
   .imptrad           1.316    0.063   20.801    0.000    1.316    0.819
   .ipfrule           0.789    0.050   15.881    0.000    0.789    0.602
   .ipbhprp           0.787    0.054   14.611    0.000    0.787    0.587
   .imbgeco           1.585    0.135   11.697    0.000    1.585    0.366
   .imueclt           1.708    0.135   12.662    0.000    1.708    0.409
   .imtcjob           2.875    0.151   18.974    0.000    2.875    0.653
   .rlgueim           3.184    0.170   18.736    0.000    3.184    0.792
    Universalism      0.360    0.031   11.678    0.000    1.000    1.000
    TraditnCnfrmty    0.291    0.028   10.228    0.000    1.000    1.000
    PerceivedThret    2.745    0.151   18.207    0.000    1.000    1.000


Group 2 [DE]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.463    0.485
    ipudrst (.p2.)          1.090    0.043   25.606    0.000    0.505    0.572
    impenv  (.p3.)          0.952    0.049   19.479    0.000    0.441    0.463
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.614    0.450
    ipfrule (.p5.)          1.340    0.053   25.086    0.000    0.823    0.585
    ipbhprp (.p6.)          1.380    0.065   21.145    0.000    0.848    0.649
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               1.831    0.794
    imueclt (.p8.)          0.948    0.022   43.229    0.000    1.737    0.737
    imtcjob (.p9.)          0.746    0.016   45.442    0.000    1.366    0.658
    rlgueim (.10.)          0.551    0.019   28.846    0.000    1.009    0.490

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 0.794    0.088    8.999    0.000    0.794    0.278
  Universalism ~~                                                             
    TraditnCnfrmty          0.059    0.011    5.353    0.000    0.208    0.208
    PerceivedThret         -0.353    0.031  -11.239    0.000   -0.416   -0.416
  TraditionConformity ~~                                                      
    PerceivedThret          0.258    0.036    7.162    0.000    0.229    0.229

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt (.28.)    4.525    0.026  176.563    0.000    4.525    4.745
   .ipudrst (.29.)    4.264    0.027  155.240    0.000    4.264    4.831
   .impenv            4.402    0.040  108.784    0.000    4.402    4.620
   .imptrad (.31.)    4.553    0.026  177.481    0.000    4.553    3.335
   .ipfrule (.32.)    4.249    0.031  136.626    0.000    4.249    3.022
   .ipbhprp           4.874    0.050   97.750    0.000    4.874    3.732
   .imbgeco           6.785    0.087   77.682    0.000    6.785    2.942
   .imueclt (.35.)    6.181    0.052  118.119    0.000    6.181    2.625
   .imtcjob (.36.)    6.365    0.053  119.867    0.000    6.365    3.067
   .rlgueim (.37.)    6.180    0.042  147.292    0.000    6.180    2.998
    Unvrsls           0.624    0.028   21.993    0.000    1.348    1.348
    TrdtnCn          -0.582    0.030  -19.696    0.000   -0.947   -0.947
    PrcvdTh          -2.582    0.090  -28.751    0.000   -1.410   -1.410

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.695    0.038   18.148    0.000    0.695    0.764
   .ipudrst           0.524    0.028   18.803    0.000    0.524    0.673
   .impenv            0.713    0.030   24.157    0.000    0.713    0.786
   .imptrad           1.486    0.045   32.729    0.000    1.486    0.797
   .ipfrule           1.300    0.046   28.147    0.000    1.300    0.657
   .ipbhprp           0.987    0.047   20.961    0.000    0.987    0.579
   .imbgeco           1.963    0.118   16.694    0.000    1.963    0.369
   .imueclt           2.531    0.117   21.665    0.000    2.531    0.456
   .imtcjob           2.441    0.109   22.468    0.000    2.441    0.567
   .rlgueim           3.231    0.110   29.398    0.000    3.231    0.760
    Universalism      0.214    0.019   11.344    0.000    1.000    1.000
    TraditnCnfrmty    0.378    0.030   12.697    0.000    1.000    1.000
    PerceivedThret    3.354    0.154   21.755    0.000    1.000    1.000


Group 3 [GB]:

Latent Variables:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Universalism =~                                                             
    ipeqopt                 1.000                               0.561    0.534
    ipudrst (.p2.)          1.090    0.043   25.606    0.000    0.611    0.585
    impenv  (.p3.)          0.952    0.049   19.479    0.000    0.534    0.484
  TraditionConformity =~                                                      
    imptrad                 1.000                               0.635    0.448
    ipfrule (.p5.)          1.340    0.053   25.086    0.000    0.851    0.593
    ipbhprp (.p6.)          1.380    0.065   21.145    0.000    0.876    0.675
  PerceivedThreat =~                                                          
    imbgeco                 1.000                               2.127    0.850
    imueclt (.p8.)          0.948    0.022   43.229    0.000    2.017    0.769
    imtcjob (.p9.)          0.746    0.016   45.442    0.000    1.587    0.677
    rlgueim (.10.)          0.551    0.019   28.846    0.000    1.172    0.521

Covariances:
                         Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .imueclt ~~                                                                  
   .rlgueim                 1.015    0.134    7.582    0.000    1.015    0.315
  Universalism ~~                                                             
    TraditnCnfrmty          0.093    0.017    5.448    0.000    0.261    0.261
    PerceivedThret         -0.465    0.049   -9.524    0.000   -0.390   -0.390
  TraditionConformity ~~                                                      
    PerceivedThret          0.279    0.050    5.590    0.000    0.207    0.207

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt (.28.)    4.525    0.026  176.563    0.000    4.525    4.308
   .ipudrst (.29.)    4.264    0.027  155.240    0.000    4.264    4.080
   .impenv            4.432    0.041  107.971    0.000    4.432    4.018
   .imptrad (.31.)    4.553    0.026  177.481    0.000    4.553    3.212
   .ipfrule (.32.)    4.249    0.031  136.626    0.000    4.249    2.960
   .ipbhprp           4.985    0.050   99.678    0.000    4.985    3.843
   .imbgeco           6.409    0.080   79.990    0.000    6.409    2.560
   .imueclt (.35.)    6.181    0.052  118.119    0.000    6.181    2.357
   .imtcjob (.36.)    6.365    0.053  119.867    0.000    6.365    2.715
   .rlgueim (.37.)    6.180    0.042  147.292    0.000    6.180    2.745
    Unvrsls           0.438    0.031   13.959    0.000    0.781    0.781
    TrdtnCn          -0.449    0.032  -13.982    0.000   -0.708   -0.708
    PrcvdTh          -1.312    0.089  -14.722    0.000   -0.617   -0.617

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .ipeqopt           0.789    0.043   18.161    0.000    0.789    0.715
   .ipudrst           0.719    0.040   17.865    0.000    0.719    0.658
   .impenv            0.931    0.041   22.837    0.000    0.931    0.765
   .imptrad           1.606    0.054   29.487    0.000    1.606    0.799
   .ipfrule           1.337    0.058   23.178    0.000    1.337    0.649
   .ipbhprp           0.915    0.055   16.558    0.000    0.915    0.544
   .imbgeco           1.745    0.136   12.860    0.000    1.745    0.278
   .imueclt           2.808    0.170   16.481    0.000    2.808    0.408
   .imtcjob           2.979    0.147   20.236    0.000    2.979    0.542
   .rlgueim           3.696    0.153   24.192    0.000    3.696    0.729
    Universalism      0.315    0.031   10.239    0.000    1.000    1.000
    TraditnCnfrmty    0.403    0.036   11.262    0.000    1.000    1.000
    PerceivedThret    4.524    0.192   23.540    0.000    1.000    1.000

Comparing fit statistics

Reference indicator method

compFit.scfa.5 <- compareFit(
  scalar = scfa_fit_scalar_partial3,
  metric = scfa_fit_metric,
  config = scfa_fit_config,
  argsLRT = list(method = "satorra.bentler.2001")
)
summary(
  object = compFit.scfa.5, 
  fit.measures = c("chisq.scaled", "df.scaled", "pvalue.scaled", 
                   "rmsea.scaled", "cfi.scaled", "tli.scaled",
                   "srmr", "aic", "bic")
  ) 
################### Nested Model Comparison #########################
Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")

lavaan NOTE:
    The "Chisq" column contains standard test statistics, not the
    robust test that should be reported per model. A robust difference
    test is a function of two standard (not robust) statistics.
 
        Df    AIC    BIC  Chisq Chisq diff Df diff Pr(>Chisq)    
config  93 202254 202935 555.17                                  
metric 107 202264 202851 592.98     31.036      14   0.005479 ** 
scalar 115 202363 202896 707.29    110.042       8  < 2.2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

####################### Model Fit Indices ###########################
       chisq.scaled df.scaled pvalue.scaled rmsea.scaled cfi.scaled tli.scaled
config     477.046†        93          .000        .046       .958†      .939 
metric     506.441        107          .000        .044†      .956       .945†
scalar     608.850        115          .000        .047       .946       .936 
        srmr         aic         bic
config .034† 202254.443† 202935.107 
metric .036  202264.246  202851.485†
scalar .040  202362.561  202896.415 

################## Differences in Fit Indices #######################
                df.scaled rmsea.scaled cfi.scaled tli.scaled  srmr    aic
metric - config        14       -0.002     -0.002      0.006 0.002  9.802
scalar - metric         8        0.003     -0.010     -0.008 0.004 98.316
                    bic
metric - config -83.622
scalar - metric  44.930

Result

  • According to Chen (2007), we have also reached the cut-off limits of the scalar measurement invariance.

References

Bentler, P. M. 1990. “Comparative Fit Indexes in Structural Models.” Psychological Bulletin 107 (2): 238–46. https://doi.org/10.1037/0033-2909.107.2.238.
Byrne, Barbara M., Richard J. Shavelson, and Bengt Muthén. 1989. “Testing for the Equivalence of Factor Covariance and Mean Structures: The Issue of Partial Measurement Invariance.” Psychological Bulletin 105 (3): 456–66. https://doi.org/10.1037/0033-2909.105.3.456.
Chen, Fang Fang. 2007. “Sensitivity of Goodness of Fit Indexes to Lack of Measurement Invariance.” Structural Equation Modeling: A Multidisciplinary Journal 14 (3): 464–504. https://doi.org/10.1080/10705510701301834.
Hu, Li‐tze, and Peter M. Bentler. 1999. “Cutoff Criteria for Fit Indexes in Covariance Structure Analysis: Conventional Criteria Versus New Alternatives.” Structural Equation Modeling: A Multidisciplinary Journal 6 (1): 1–55. https://doi.org/10.1080/10705519909540118.
Jöreskog, K. G. 1969. “A General Approach to Confirmatory Maximum Likelihood Factor Analysis.” Psychometrika 34 (2): 183–202. https://doi.org/10.1007/BF02289343.
Novick, Melvin R. 1966. “The Axioms and Principal Results of Classical Test Theory.” Journal of Mathematical Psychology 3 (1): 1–18. https://doi.org/10.1016/0022-2496(66)90002-2.
Sörbom, Dag. 1989. “Model Modification.” Psychometrika 54 (3): 371–84. https://doi.org/10.1007/BF02294623.
Steiger, James H. 2016. “Notes on the SteigerLind (1980) Handout.” Structural Equation Modeling: A Multidisciplinary Journal 23 (6): 777–81. https://doi.org/10.1080/10705511.2016.1217487.
Tucker, Ledyard R, and Charles Lewis. 1973. “A Reliability Coefficient for Maximum Likelihood Factor Analysis.” Psychometrika 38 (1): 1–10. https://doi.org/10.1007/BF02291170.